PHP:SQL在插入日期或日期时间时状态22007

PHP:SQL在插入日期或日期时间时状态22007,php,mysql,date,datetime,pdo,Php,Mysql,Date,Datetime,Pdo,我的问题是: 我有一个数据库,我试图在我的表中插入一个简单的创建日期。 我将字段类型设置为“date”,当我在php代码中通过PDO插入值时,它不起作用 实际上,数据库正在获取数据并正确插入,但出于某种原因,我仍然从php中得到以下错误: SQLSTATE[22007]:无效的日期时间格式:1292不正确的日期时间 第1行“创建”列的值:“1” 此时,我尝试插入以下值: $sql = "INSERT INTO questions VALUES (NULL,'" .$values['

我的问题是:
我有一个数据库,我试图在我的表中插入一个简单的创建日期。 我将字段类型设置为“date”,当我在php代码中通过PDO插入值时,它不起作用

实际上,数据库正在获取数据并正确插入,但出于某种原因,我仍然从php中得到以下错误:

SQLSTATE[22007]:无效的日期时间格式:1292不正确的日期时间 第1行“创建”列的值:“1”

此时,我尝试插入以下值:

$sql = "INSERT INTO questions VALUES (NULL,'"
       .$values['type_question']
       ."','"
       .$values['question']
       ."', NULL , NOW() )"
;
我很困惑,因为当我打开phpMyAdmin或mysql控制台并粘贴代码(我对我的SQL进行var_转储)时,它可以毫无问题地工作

我尝试了以下组合:
字段类型:日期,日期时间
PHP中的值:NOW(),CURRENT_DATE(),DATE('Y-m-d H:i:s')
这一切都不起作用

我得到上面的错误,或者是相同的错误代码,但是有不同的消息,比如:

第1行字段“创建”的值不正确

我真的不明白它是从哪里来的。。。 可能是PHP7PDO的bug吗?我做了什么坏事吗

编辑: PHP7.0.0 Mysql 5.7.9


通过修改my.ini文件解决了此问题,谢谢。

检查my.ini文件,如果有,请从sql模式中删除STRICT\u TRANS\u表


我的my.ini文件中有一行: sql mode=“严格的\u所有\u表,错误\u除以\u零,无\u零\u日期,日期中无\u零,无\u自动创建\u用户”

那么,我是否应该删除“STRICT_ALL_TABLES”(严格的所有表),而将其余的保留下来

我刚刚试过,它似乎解决了问题(我现在有其他错误的请求,但没有链接到日期/日期时间),我会不断更新,以确保它与此无关

注意:新错误是SQL状态23000完整性约束冲突。但是插入正确,插入的值也正确,同样错误来自PHP而不是MYSQL-_- 该字段设置为默认值,可以为NULL。如果在请求中输入NULL“”或正确的FK值,则会出现错误


编辑:已解决。错误的表名,与我认为的日期/日期时间无关,只有我和我的大脑。

没有DDL,我们不可能看到您将哪些数据放在哪个列中。添加表的DDL或在
INSERT
查询中使用显式列名。