Php 使用Yii框架时的时间问题&;Linux Ubuntu 18.04上的maria db
我只是试着在Linux Ubuntu上用MariaDB在Yii框架中做注册表单 当我尝试创建用户时,收到以下消息::Php 使用Yii框架时的时间问题&;Linux Ubuntu 18.04上的maria db,php,yii2,mariadb,yii2-basic-app,mariasql,Php,Yii2,Mariadb,Yii2 Basic App,Mariasql,我只是试着在Linux Ubuntu上用MariaDB在Yii框架中做注册表单 当我尝试创建用户时,收到以下消息:: enter code here SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1532870185' for column 'created_at' at row 1 The SQL being executed was: INSERT INTO `user` (`usernam
enter code here
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1532870185' for column 'created_at' at row 1
The SQL being executed was: INSERT INTO `user` (`username`, `email`, `password_hash`, `auth_key`, `status`, `created_at`, `updated_at`) VALUES ('aha', 'aha@ccc.cc', '$2y$13$vRBQsfnP/xpy3DBQz7XqPONO8gmViygRVqJNMuJ0cN9oDW.erj//.', 'wwNyKbSpc4drIUz53u6HRXx6XYKWrLEV', 10, '1532870185', '1532870185')
Error Info: Array
(
[0] => 22007
[1] => 1292
[2] => Incorrect datetime value: '1532870185' for column 'created_at' at row 1
)
↵
Caused by: PDOException
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1532870185' for column 'created_at' at row 1
我做了一些研究,都是关于时间的,但我不知道我该怎么做
我试着删除无零日期,什么也没发生
我尝试配置Ubuntu时间
但还是一样的问题吗
有谁能帮忙吗?这是关于你的表格定义的 日期时间格式是:
2012-04-19 13:08:22
,而不是1532870185
(从您的例外情况来看,它的时间戳是)。在将日期插入数据库之前,必须将日期时间格式更改为时间戳,或者将日期格式更改为日期时间格式
INSERT ... , '1532870185', ...
做
(在此上下文中,引号是可选的。)
作为测试:
mysql> select FROM_UNIXTIME('1532870185'),
FROM_UNIXTIME(1532870185);
+-----------------------------+---------------------------+
| FROM_UNIXTIME('1532870185') | FROM_UNIXTIME(1532870185) |
+-----------------------------+---------------------------+
| 2018-07-29 06:16:25.000000 | 2018-07-29 06:16:25 |
+-----------------------------+---------------------------+
(分秒应该是无害的。)我也有同样的问题,可以解决。您应该删除或注释用户模型中的以下行:
public function behaviors()
{
return [
TimestampBehavior::className()
];
}
我已经这样做了,当我从phpmyadmin插入时,它运行得很好,但是如果我尝试从应用程序it自身进行插入,即使我更改了应用程序中的日期时间,我也会再次面临这个问题??!!您尝试将时间戳插入datetime数据库字段。您有两个选项,要么将数据库列类型的created_at和updated_at更改为timestamp,要么将timestamp值转换为date time。我没有尝试过这一点,但如果我与一个团队合作,他们也有一个windows操作系统,他们也在使用xampp!?
public function behaviors()
{
return [
TimestampBehavior::className()
];
}