将日期/时间从PHP保存到SQL

将日期/时间从PHP保存到SQL,php,sql,Php,Sql,我想把日期和时间从PHP保存到SQL。以下是用于插入新记录(在类中的方法中找到)的SQL语句: 在我的.php页面中,我使用$\u服务器['REQUEST\u time']调用当前日期和时间。但我仍然得到错误“不正确的日期时间值”。我可以使用什么来获取日期?可以生成您的时间戳: $timestamp = date('Y-m-d H:i:s'); 这应该模仿mysql时间戳和日期时间格式 假设mysql的时间戳与所讨论的php服务器同步,您也可以只使用mysql当前时间戳函数: NOW()或CU

我想把日期和时间从PHP保存到SQL。以下是用于插入新记录(在类中的方法中找到)的SQL语句:


在我的.php页面中,我使用
$\u服务器['REQUEST\u time']
调用当前日期和时间。但我仍然得到错误“不正确的日期时间值”。我可以使用什么来获取日期?

可以生成您的时间戳:

$timestamp = date('Y-m-d H:i:s');
这应该模仿mysql时间戳和日期时间格式

假设mysql的时间戳与所讨论的php服务器同步,您也可以只使用mysql当前时间戳函数:


NOW()或CURRENT_TIMESTAMP或CURRENT_TIMESTAMP()

它必须是准确的请求时间吗?您可以让您的生活更轻松,只需使用:

INSERT INTO tbl_reviews (headline, text, date, rating, product_id, username)
            value (:headline, :text, now(), :rating, :product_id, :username)

MySQL会在您的条目写入表后立即插入当前日期。

这只是猜测,但是$\u服务器['REQUEST\u TIME']返回一个浮点数,而不是有效的日期时间格式。

如果您需要当前时间,可以这样做:

INSERT INTO tbl_reviews (headline, text, date, rating, product_id, username)
INSERT INTO tbl_reviews ('$headline', '$text', CURDATE(), '$rating', '$product_id', '$username');

您可以使用SQL自己的当前时间戳值来获取自动格式化的时间戳

至于$\u SERVER['REQUEST\u TIME'],您可以只使用或


如前所述,REQUEST\u TIME以及TIME()和microtime()返回a,这基本上是自UNIX纪元以来经过的秒数,与DATETIME字段期望的格式不同。

这里很可能不相关,但值得注意的是$\u SERVER['REQUEST\u TIME']返回请求开始的时间戳,而不是该时刻正确的时间戳(microtime和time都是这样做的)。-1?选民能否解释一下这个答案的问题是什么?
INSERT INTO tbl_reviews (headline, text, date, rating, product_id, username)
INSERT INTO tbl_reviews ('$headline', '$text', CURDATE(), '$rating', '$product_id', '$username');
date_default_timezone_set('US/Eastern');
$cur_date=date("Y-m-d");