日期时间格式无效:1292日期时间值不正确

use*_*950 6 php mysql datetime pdo

当我尝试使用字段更新表时(datetime),我收到以下错误

致命错误:未捕获的异常'PDOException',消息'SQLSTATE [2007]:无效的日期时间格式:1292不正确的日期时间值:'02 -27-2017 16:37'用于最后一列的列

我的PHP代码使用PDO

$lastupdated = date('m-d-Y H:i:s');
$run = $conn->prepare($sql);
$run->bindParam(':lastupdated', $lastupdated, PDO::PARAM_STR); 
Run Code Online (Sandbox Code Playgroud)

SQL lastbudated,数据类型是 datetime

现有数据

在此输入图像描述

Jaz*_*azZ 21

您需要格式化日期"Y-m-d H:i:s",以便使用MySQL datetime字段.

即:

$lastupdated = date('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

来自文档:

DATETIME类型用于包含日期和时间部分的值.MySQL以'YYYY-MM-DD HH:MM:SS'格式检索并显示DATETIME值.支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'.

  • 从[文档](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-literals.html):任何标点字符都可以用作日期部分之间的分隔符.但真正的问题是他对日期部分的排序. (3认同)