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

Mysql の有効な日時になるように、最初に php を介して DATETIME を変換します。これを使って:

$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 に答える