MySQL に日付と時刻を挿入する
質問
mysqlのdatetimeフィールドに日付と時刻を挿入しようとしています。ユーザーが日付と時刻を選択すると、2 つの POST 変数が生成されます。インターネットで検索しましたが、まだ方法がわかりません。
私のコード。
//date value is 05/25/2010
//time value is 10:00
$date=$_POST['date'];
$time=$_POST['time'];
$datetime=$date.$time
$datetime を mysql に挿入すると、日付は 0000-00-00:00:00:00 のように表示されます。
誰かがこれについて私を助けてくれれば幸いです。ありがとう。
解決
$datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00';
$datetime = mysql_real_escape_string($datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";
より多くの形式を処理できる代替ソリューション:
$datetime = $_POST['date'] . ' ' . $_POST['time'];
$datetime = mysql_real_escape_string($datetime);
$datetime = strtotime($datetime);
$datetime = date('Y-m-d H:i:s',$datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";
他のヒント
日付はあなたに形式を示す必要があります: 0000-00-00 00:00:00
だから、あなたはそれを変換する必要があります。ここでこの変換については何千もの質問があります。
最短の方法は似ています
list($m,$d,$y) = explode("/",$_POST['date']);
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']);
DateTime形式は次のようになります。
YYYY-MM-DD HH:MM:SS
そのため、そのように見えるように$ datetimeをフォーマットする必要があります。そして、クォートマークにカプセル化する必要があるクエリで。
- 文字列をに変換します
YYYY-MM-DD HH:MM:SS
自分でフォーマットし、 または、を使用します
str_to_date()
mysqlからの関数。テーブルデータタイム値に挿入(str_to_date($ date、 "%m/%d/%y%h:%i"))
私が覚えている限り、デフォルトでは、MySQL DateTimeは「yyyy-mm-dd hh:mm:ss」形式にあるはずです。
このようなAPIを介してmysql dbに日付と時刻を追加しました:
APIを呼び出します
http://localhost/SendOrder.php?odate=20120323&otime=164545
odate
タイプは日付ですotime
タイプはdbの時間です。
Odateは2012-03-23、Otimeは16:45:45として保存されます。
所属していません StackOverflow