我在使用PHP将DATETIME插入MySQL时遇到问题。

首先,我从新闻表中获取日期:

$statement = $db->query("SELECT utcPublishedDate FROM News WHERE idNews = $newsID");
$row = $statement->fetch(PDO::FETCH_ASSOC);
$utcPublishedDate = $row["utcPublishedDate"];


然后由于某些代码要求,我对该日期进行了一些日期操作,最终该日期更改为其他日期。

现在,我必须更新表,因此:

$statement = $db->query("UPDATE News SET utcPublishedDate = $utcPublishedDate WHERE idNews = $newsID");


这导致错误。如果我这样做:

$statement = $db->query("UPDATE News SET utcPublishedDate = NOW() WHERE idNews = $newsID");


该语句将毫无问题地执行。

现在,如何解决我遇到的错误?显然,这与我的DATETIME字段中存在空格有关。有什么建议吗?谢谢。

最佳答案

尝试更改:

$statement = $db->query("UPDATE News SET utcPublishedDate = $utcPublishedDate WHERE idNews = $newsID");


至:

$statement = $db->query("UPDATE News SET utcPublishedDate = '$utcPublishedDate' WHERE idNews = $newsID");

10-07 22:34