PHP - 将日期插入数据库会导致错误的日期格式


PHP - inserting a date into the database results in wrong date format?

我将这个查询表示为一个字符串(它被缩短以使其更易于阅读):

$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?

谢谢!

"

21.04.2012"不是MySQL喜欢的格式。您应该始终将日期格式化为Y-m-d,例如 2012-04-21 .

尽管MySQL尝试以多种格式解释值,但日期部分必须始终

以年-月-日顺序(例如,'98-09-04')给出,而不是以其他地方常用的月-日-年或日-月-年顺序(例如,'09-04-98','04-09-98')。