我在使用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");