2

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' にはまだエラーがあります。

どうすればこれを回避できますか?

4

1 に答える 1