質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3151閲覧

PHPでdateを使って日付入力すると0000-00-00になってしまいます。

Eimei8104

総合スコア16

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/04/21 05:01

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>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

# $sql2 = "insert into weight values($date,$weight)" $sql2 = "insert into weight values('".$date."',$weight)"

これで動くは動くと思いますが、SQL実行時にはプリペアドステートメントを利用する事をお勧めします。

投稿2017/04/21 05:05

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問