从PHP中将日期时间值(包括毫秒)插入到mysql数据库中

时间:2018-05-23 15:38:00

标签: php mysql datetime

我正在使用PHP laravel框架开发一个Web应用程序。我现在正在做的是我试图插入日期时间值,包括用户给出的毫秒数。但它抛出了无效的日期时间格式错误。

这是我的代码

$image = new Image;
$image->date_taken = date('Y-m-d H:i:s u',strtotime($date_and_time." ".$milliseconds)); //milliseconds is something like 0, 435, 455656
$image->save();

当我运行代码时,它给了我这个错误。

SQLSTATE[22007]: Invalid datetime format: 7 ERROR: invalid input syntax for type timestamp: "1970-01-01 00:00:00 000000" (SQL: insert into "images" ("event_id", "user_id", "visibility", "s3_path", "file_hash", "date_taken", "taken_at_tag", "updated_at", "created_at") values (1, 101, 1, RWGV7HMW/iljimae.ic@gmail.com/wPxi5AkW0VzUfc0e5Xu4xQw27sdVXttAqMWUU1Cx.jpeg, ca5544c371b7c6a0eedc03b04e44f36f, 1970-01-01 00:00:00 000000, 124216-097, 2018-05-23 15:32:02, 2018-05-23 15:32:02) returning "id")

如何格式化日期时间,包括毫秒并插入MySQL数据库?

1 个答案:

答案 0 :(得分:0)

创建表时使用了哪种数据类型?

例如: 日期 - 格式YYYY-MM-DD。

DATETIME - 格式:YYYY-MM-DD HH:MI:SS。

SMALLDATETIME - 格式:YYYY-MM-DD HH:MI:SS。

TIMESTAMP - 格式:唯一编号。

源:https://www.w3schools.com/sql/sql_dates.asp