我正在尝试使用PHP将当前日期添加到MySQL表中。我有以下代码:
$date = date('Y-m-d');
mysql_query("INSERT INTO book_order VALUES($date)") or die (mysql_error());
MySQL返回此错误:
日期值不正确:第1行第'date_order'列的'1996'
date_order
属性的类型为date
。
我已尝试echo
$date
值并打印出2013-05-12
为什么我无法将日期添加到表中以及这个奇怪的 1996 是什么?
答案 0 :(得分:2)
尝试
$date = date('Y-m-d');
mysql_query("INSERT INTO book_order VALUES('$date')") or die (mysql_error());
????
答案 1 :(得分:2)
使用STR_TO_DATE:
$date = date('Y-m-d');
mysql_query("INSERT INTO book_order VALUES (STR_TO_DATE('".$date ."','%Y-%m-%d'))");
答案 2 :(得分:2)
如果您可以发送本地日期使用:
mysql_query("INSERT INTO book_order VALUES(NOW())");
您的问题是因为您的SQL有拼写错误 - 必须引用$date
变量:
mysql_query("INSERT INTO book_order VALUES('$date')") or die (mysql_error());
此外,如果这不起作用,请编辑您的问题并粘贴SQL EXPLAIN book_order
答案 3 :(得分:0)
试试这个
$date = date('Y-m-d');
mysql_query("INSERT INTO book_order VALUES('$date')") or die (mysql_error());