【发布时间】:2013-10-08 22:03:29
【问题描述】:
我的网站将在欧洲/伦敦时间本地运行,因此我想根据该时区插入他们注册时的日期和时间。
date_default_timezone_set('Europe/London');
$rtime = date("Y-m-d H:ia", time());
$online = 1;
if ($stmt = $mysqli->prepare("INSERT INTO `users`(`username`, `password` ,`email` , `nickname`, `registered`, `online`) VALUES (?, ?, ?, ?, ?, ?)"))
{
$stmt->bind_param("ssssii", $username, $password, $email, $nickname, $rtime, $online);
$stmt->execute();
$stmt->close();
}
当我运行这个脚本时,日期/时间仍然显示 0000-00-00 00:00:00,但我不知道为什么。
【问题讨论】:
-
很好。你有什么问题?
-
是的,问题是什么?
-
您的
registered列是什么类型的? -
将 bind_param 函数的第一个参数设为 'sssssi' 可能我不确定这是否可行。
-
是的,您的 $rtime 不是 int 将其 bind_param 类型更改为“s”
标签: php datetime mysqli prepared-statement