我是CakePHP的新手。
目前我遇到了这个问题,它在我登录cakePHP项目时向我显示了这个错误。
**Database Error**
Error: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2015-10-22T15:42:20+08:00' for column 'last_login' at row 1
SQL Query: UPDATE `cakephpdb`.`users` SET `last_login` = '2015-10-22T15:42:20+08:00', `modified` = '2015-10-22 15:42:20' WHERE `cakephpdb`.`users`.`id` = '37'
我认为这可以在cakePHP配置文件中配置(只能在1个文件中编辑,可以影响整个项目),或者可能更改MySQL设置。
以下是详细信息:
非常感谢您的帮助!谢谢。
答案 0 :(得分:3)
日期时间格式无效:1292日期时间值不正确:' 2015-10-22T15:42:20 + 08:00'
传递正确的日期时间格式:YYY-MM-DD HH:MM:SS
这就是我认为该字段所期望的。使用date()
重新格式化您的日期或您正在使用的任何CakePHP版本的DateTime
类。
答案 1 :(得分:0)
我认为这是您尝试传递的数据时间格式是问题。
使用适当格式的PHP日期函数进行更改(YYYY-MM-DD HH:MM:SS)。
date('Y-m-d H:i:s',strtotime($yourdate));
我认为这将适用于这种情况。
感谢。
答案 2 :(得分:0)
非常奇怪,如果我在localhost 使用 XAMPP,它可以完美存储。但是当我实时启动(使用IIS)时,它无法使用此日期时间格式存储" 2015-10-22T15:42:20 + 08:00和#34;。
所以我发现cakePHP正在使用:
日期(DATE_ATOM)
我将其更改为:
日期(' Y-m-d H:i:s')
现在有用了。
感谢@burzum和@Chandresh。 :)