1 日の期間内で日付を選択しようとしています。次のような単純なクエリでうまくいきます。
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
私の問題は、pg_execute/PDO で準備済みステートメントを使用していることです (問題は両方で同じです)。例えば:
$query = "SELECT *
FROM table_name
WHERE table_name.the_date > $1";
$params = array('DATE_SUB(CURDATE(), INTERVAL 1 DAY)')
$results = pg_prepare($dbconn, '' , $query );
$results = pg_execute($dbconn, '', $params);
その結果、常に次のエラーが発生します。
pg_execute(): Query failed: ERROR: invalid input syntax for type timestamp:
今、私はこのリンクに示されているように使用できる特別な postgres 関数があります: http://www.postgresql.org/docs/9.0/static/datatype-datetime.html#AEN5582。特別な入力 'now' に置き換えましNOW()
たが、 'INTERVAL 1 DAY' にはまだエラーがあります。
どうすればこれを回避できますか?