当我尝试将日期替换为日期并将其保存在mySQL
db中时,我收到错误。原因是DATE
字段的格式。我在下面添加了PHP
代码和mySQL
错误消息。
$nowDate = str_replace('/', '-', $_POST['datenow']);
echo $nowDate;
输出> 08-15-2012
,我将此记录插入数据库,但MySQL
数据库需要格式为yyyy-mm-dd
(2012-08-15
),否则我会收到错误
Unable1 to run query:Incorrect date value: '08-15-2012' for column 'now_date' at row 1
答案 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日期格式。