gpt4 book ai didi

PHP : SQL STATE 22007 when inserting date or datetime

转载 作者:行者123 更新时间:2023-11-28 23:30:06 28 4
gpt4 key购买 nike

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

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

SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1' for column 'creation' at row 1

这是我尝试插入以下值的时候:

$sql = "INSERT INTO questions VALUES (NULL,'"
.$values['type_question']
."','"
.$values['question']
."', NULL , NOW() )"
;

我很困惑,因为当我打开 phpMyAdmin 或 mysql 控制台并粘贴代码(我对 SQL 进行 var_dump)时,它可以正常工作。

我尝试了以下组合:
字段类型:日期、日期时间
值:来自 PHP 的 NOW()、CURRENT_DATE()、date('Y-m-d H:i:s')
这些都不起作用。

我得到上面的错误,要么是相同的错误代码,但有一条不同的消息,如:

Incorrect value for field 'creation' at row 1

我真的不明白这是从哪里来的...这可能是 PHP7 PDO 的错误吗?我做了坏事吗?

编辑:PHP 7.0.0Mysql 5.7.9

通过修改my.ini文件解决,谢谢。

最佳答案

检查您的 my.ini 文件,如果存在,请从 sql-mode 中删除 STRICT_TRANS_TABLES。

Source

关于PHP : SQL STATE 22007 when inserting date or datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37630980/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com