PHP将时间输入数据库

PHP将时间输入数据库,php,time,mysqli,Php,Time,Mysqli,我在特定时间更新数据库条目时遇到问题 $currentTime = time("H:i:s", strtotime("16:00:00")); mysqli_query($mysqli,"UPDATE Table SET time='" . $currentTime . "' WHERE id = 1); 但数据库中的时间显示为00:00:00 我的数据库中的数据类型设置为TIME…是否应为DATE 我做错了什么?回声时间(“H:I:s”,strotime(“16:00:00”) 产生 13

我在特定时间更新数据库条目时遇到问题

$currentTime = time("H:i:s", strtotime("16:00:00"));

mysqli_query($mysqli,"UPDATE Table SET time='" . $currentTime . "' WHERE id = 1);
但数据库中的时间显示为00:00:00

我的数据库中的数据类型设置为TIME…是否应为DATE

我做错了什么?

回声时间(“H:I:s”,strotime(“16:00:00”)

产生

1370830176

这不是MySQL所期望的时间格式

您的查询变成:

updatetable SET time='1370830176',其中id=1

它应该是简单的:

updatetable SET time='16:00:00',其中id=1

所以,你不需要这个:

$currentTime=time(“H:i:s”,strottime(“16:00:00”)

您只需要:


$currentTime=“16:00:00”

为什么不使用MySql日期/时间

查看然后使用

mysqli_query($mysqli,"UPDATE Table SET time=CURRENTTIME() WHERE id = 1");

按日期更改时间


函数
time
仅返回UnixtTimeStamp。。。您需要将unix时间戳格式化为H:i:s。

time
以整数形式返回当前unix时间戳。也许您打算使用
date
?您在mysqli\u查询中的引号也有输入错误。为什么不在数据库中插入
“16:00:00”
?这是您的实际代码吗?请注意,将使用数据库服务器的时区,而不是脚本运行的服务器。@Jack-只需存储为GMT/UTC并使用CONVERT_TZ()函数。我知道,但我不是问这个问题的人;-)