Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Yii框架时的时间问题&;Linux Ubuntu 18.04上的maria db_Php_Yii2_Mariadb_Yii2 Basic App_Mariasql - Fatal编程技术网

Php 使用Yii框架时的时间问题&;Linux Ubuntu 18.04上的maria db

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

我只是试着在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` (`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()
    ];
}