使用PHP将日期添加到MySQL

时间:2013-05-12 21:50:17

标签: php mysql

我正在尝试使用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 是什么?

4 个答案:

答案 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());