PHPです。PostgreSQLのPDOでUPDATE文のqueryの結果がbool(false)になります。
$pdo_conn = new PDO('pgsql:host=localhost; dbname=sample_db;', 'postgres', 'password' );
$sql = 'UPDATE table_name_aaa SET column_name_aaa = 0 WHERE year_month_day = '' . date('Y-m-', strtotime('-' . ($l + 1) . ' month')) . (date('t', strtotime('-' . ($l + 1) . ' month')) - $k) . '';' . '<br>';
echo $sql; //UPDATE table_name_aaa SET column_name_aaa = 0 WHERE year_month_day = '2018-11-30';と正しく出力される
try {
$res = $pdo_conn->query($sql);
var_dump($res); //bool(false)と表示される
} catch(PDOException $e) {
var_dump($e->getMessage()); //エラーはキャッチされない
}
$sql = "UPDATE table_name_aaa SET column_name_aaa = 0 WHERE year_month_day = '2018-11-30';"
$sql = 'UPDATE table_name_aaa SET column_name_aaa = 0 WHERE year_month_day = '2018-11-30';'
で
$res = $pdo_conn->query($sql);
とやると成功します。
なぜでしょうか?どなたか解決策をお教えください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。