3

我正在尝试使用 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属性是 type date

我已经尝试了echo$date值并打印出来2013-05-12

为什么我不能将日期添加到表格中,这个奇怪的1996是什么?

4

4 回答 4

2

试过了

$date = date('Y-m-d');
mysql_query("INSERT INTO book_order VALUES('$date')")  or die (mysql_error());

???

于 2013-05-12T21:52:45.923 回答
2

使用STR_TO_DATE

$date = date('Y-m-d');
mysql_query("INSERT INTO book_order VALUES (STR_TO_DATE('".$date ."','%Y-%m-%d'))");
于 2013-05-12T22:02:33.777 回答
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

于 2013-05-12T22:12:50.247 回答
0

尝试这个

$date = date('Y-m-d');
mysql_query("INSERT INTO book_order VALUES('$date')")  or die (mysql_error());
于 2013-05-12T21:58:43.600 回答