0

这有效...

 mysqli_query
($con, "
    INSERT INTO myDB (id, name, mydate) 
    VALUES ('$id', '$name', now())
")

这行不通....

 mysqli_query
($con, "
    INSERT INTO myDB (id, name, mydate) 
    VALUES ('$id', '$name', date('Y-m-d H:i:s', strtotime('+5 hour')))
")

MySQL中的mydate列是datetime格式的。

任何想法为什么它不起作用?我目前正在使用now(),但我希望它显示我的时区的时间,而不是服务器的时区。

4

2 回答 2

2

我建议先将日期存储在变量中。

$date = date('Y-m-d H:i:s', strtotime('+5 hour'));

如果您的 MySQL 和 PHP 服务器都在同一时区运行并且它们的时钟正确同步,那么您不会有问题。

然后像这样执行查询:

mysqli_query($con, "
    INSERT INTO myDB (id, name, mydate) 
    VALUES ('$id', '$name', '$date')
")

我希望这有帮助!

于 2013-07-16T22:06:21.670 回答
1

strtotime() 不是 MySQL 函数,它的 PHP 函数,你需要编写它来执行......

    "INSERT INTO myDB (id, name, mydate) 
    VALUES ('$id', '$name', '".date('Y-m-d H:i:s', strtotime('+5 hour'))."'
于 2013-07-16T22:03:15.333 回答