PHPとMySQLを使って日付の入力を行おうとしているのですが、テーブルのDATE変数内にdateで入力した値を入れると0000-00-00という表示になってしまいます。
var_dumpで中身を確認してみるとしっかりデータは入っていました。
以下のプログラムなのですが、どこが間違っているのか教えてほしいです。
<!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>My Weight</title> <style> <!-- table,td,th,tr { border : 1px solid black; border-collapse: collapse; line-height:1.5em; } td {width:7em; text-align:center;} .red {color:red;} --> </style> </head> <body> <?php require 'pass.php'; function db_output($result) { echo "<table>\n\t<tr>"; $info = $result->fetch_fields(); foreach($info as $f) { echo "<th>".$f->name."</th>"; } echo "</tr>\n"; while($kekka=$result->fetch_array(MYSQLI_ASSOC)) { echo "\t<tr>"; foreach($kekka as $f) { echo "<td>{$f}</td>"; } echo"</tr>\n"; } echo"</table>\n"; } function form_output(){ echo <<< EOFORM <form action="" method="POST"> <input type="hidden" name="cmd" value="add"> <p>日付: <input type = "date" name = "date" size = "11"></p> <p>体重:<input type = "text" name = "weight" size = "6"/>Kg</p> <input type="submit" value="登録"> </form> EOFORM; } //main $mysqli = new mysqli("localhost",$username,$password,$dbname); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); } $mysqli->set_charset("utf-8"); $sql = "select * from weight"; $cmd = $_POST['cmd']; if($cmd == "add") { $date = $_POST['date']; $weight = $_POST['weight']; //入力 $sql2 = "insert into weight values($date,$weight)"; $mysqli->query($sql2); $result = $mysqli->query($sql); db_output($result); } else { $result = $mysqli->query($sql); db_output($result); } form_output(); //絶対閉める $mysqli->close(); ?> </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。