様々なサイトを参考にしてPDOでMySQLに書き込む処理を書くことができました。
そこで二点質問です。
PHP
1$_SERVER["REMOTE_ADDR"]
でIPアドレスを取得してMySQLに格納しているのですが最初の2文字しか表示されません。
.があると文字列が別れてしまう仕様なのでしょうか?
テーブルには3つのカラム?があります。id,mg,ip
そのうちmgが全て0になってしまいます。
以下PHPの全文を提示させていただきます。
PHP
1<?php 2$dsn = 'mysql:dbname=DB;host=localhost'; 3$user = 'root'; 4$password = 'password'; 5try { 6 $dbh = new PDO($dsn, $user, $password); 7} catch (PDOException $e) { 8 echo 'Connection failed: ' . $e->getMessage(); 9} 10$max = $dbh->query("SELECT MAX(id) FROM test02")->fetchColumn(); 11$sql = 'INSERT INTO test02 (id, mg, ip) VALUE (:id, :mg, :ip)'; 12$prepare = $dbh->prepare($sql); 13$prepare->bindValue(':id', $max+1, PDO::PARAM_INT); 14$prepare->bindValue(':mg', 'kobayashi', PDO::PARAM_INT); 15$prepare->bindValue(':ip', $_SERVER["REMOTE_ADDR"], PDO::PARAM_INT); 16$prepare->execute(); 17$sql = 'SELECT * test02'; 18$prepare = $dbh->prepare($sql); 19$prepare->execute(); 20$result = $prepare->fetchAll(PDO::FETCH_ASSOC); 21var_dump($result);
回答2件
あなたの回答
tips
プレビュー