将DATE插入MySQL DB - 错误

时间:2012-08-13 18:35:36

标签: php mysql sql

当我尝试将日期替换为日期并将其保存在mySQL db中时,我收到错误。原因是DATE字段的格式。我在下面添加了PHP代码和mySQL错误消息。

$nowDate = str_replace('/', '-', $_POST['datenow']); 

echo $nowDate;

输出> 08-15-2012,我将此记录插入数据库,但MySQL数据库需要格式为yyyy-mm-dd2012-08-15),否则我会收到错误

Unable1 to run query:Incorrect date value: '08-15-2012' for column 'now_date' at row 1

3 个答案:

答案 0 :(得分:6)

如错误所指定,日期格式必须为yyyy-mm-dd

您可以在插入date()strtotime()之前对其进行格式化:

$nowDate = date('Y-m-d', strtotime($_POST['datenow']));

答案 1 :(得分:3)

试试这个

$nowDate = date('Y-m-d',strtotime($_POST['datenow']));

或者更好的是,如果您只是想添加当前日期,让MySQL为您这样做。这消除了对输入数据进行清理的需要。

INSERT INTO table SET date_field = NOW();

答案 2 :(得分:0)

那么......问题是什么?您已经说过,您知道MySQL需要某种格式,但想要使用不受支持的格式。如果您坚持使用“错误”格式,请在插入查询中使用STR_TO_DATE()进行调查,或将PHP字符串转换为有效的MySQL日期格式。