日期时间值不正确:第 1 行“user_date”列的日期时间值为“31-01-2013”


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

$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

有人能帮忙吗?

它必须是2013-01-31的,即 date('Y-m-d')

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html

在数据类型

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

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

  • DATE_FORMAT()