我将此查询表示为字符串(缩短以便于阅读):
$query = 'INSERT INTO mytable (ke_voucher_date) VALUES (\'%s\')';
现在这就是我接下来要做的事情:
$query = vsprintf($query, array_map('mysql_real_escape_string', $params));
mysql_query($query);
$ params是一个数组,包含应保存的所有值,在这种情况下(因为它缩短了)只有dd.mm.yyyy(21.04.2012)格式的日期。结果是例如21.04.2026。什么错误的代码,想法?也许%s?
谢谢!
答案 0 :(得分:1)
“21.04.2012”不是MySQL喜欢的格式。您应该始终将日期格式设置为Y-m-d
,例如2012-04-21
。
虽然MySQL试图解释多种格式的值,但日期部分必须始终以年 - 月 - 日的顺序(例如,'98 -09-04')给出,而不是在月 - 日 - 年或日 - 其他地方常用的月份订单(例如,'09 -04-98','04 -09-98')。