0

我在使用 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 字段中有空格有关。请问有什么建议吗?谢谢。

4

2 回答 2

2

尝试改变:

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

到:

$statement = $db->query("UPDATE News SET utcPublishedDate = '$utcPublishedDate' WHERE idNews = $newsID");
于 2012-11-08T23:57:26.807 回答
0

首先通过 php 转换 DATETIME,使其成为 Mysql 有效的日期时间。用这个:

$utcPublishedDate = date('Y-m-d H:i:s', strtotime($utcPublishedDate));   $statement = $db->query("UPDATE News SET utcPublishedDate = '$utcPublishedDate' WHERE idNews = $newsID");

干杯

于 2012-11-09T00:00:37.527 回答