日期时间值不正确:'31 -01-2013'表示第1行的'user_date'列

时间:2013-01-31 23:58:20

标签: php mysqli

$query_insert = "INSERT INTO users (user_name, user_pass, user_email, user_date, user_level, user_posts)
                        VALUES(?,?,?,?,?,?)";
$insert = $mysqli->prepare($query_insert);
                $insert->bind_param("ssssii", $username, $password_enc, $email, $date, $level_start, $post_start);
                $insert->execute();
$date = date('d-m-Y');

这些是相关部分。唯一的事情是...当我执行它时它不会添加到表

我环顾四周,有人说有$ insert->错误;所以我把它放进去了,这就出现了

Incorrect datetime value: '31-01-2013' for column 'user_date' at row 1

有人能帮忙吗?

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

date数据类型上插入值时,它应采用以下格式yyyy-MM-dd,因此在您的示例日期中,它应为2013-01-31

不要担心保存在数据库中的日期模式。保持原样。如果您担心格式化,那么您可以使用名为DATE_FORMAT的函数在投影数据期间执行此操作。