2011-12-31 5 views
-1

SQL結果を1週間以上に制限したい。ここで準備文 - タイムスタンプで結果を制限する

は、それが用意されていない通常のSQLクエリでどのように見えるかです:

SELECT * 
    FROM `table_name` 
    WHERE timestamp < DATE_SUB(NOW(), INTERVAL 7 DAY) 
    ORDER BY `timestamp` DESC" 

しかし、私はPDOを使用していますが、私はすべてのクエリを準備するよう、私はこれを実行しようとしました:

$query = $db->query('SELECT * FROM `database` WHERE timestamp < DATE_SUB(NOW(), INTERVAL :time DAY) ORDER BY `timestamp` DESC'); 
    $query->bindValue(':time', 7, PDO::PARAM_INT); 
    $query->execute(); 

しかし何も起こりませんでした。 私は通常、すべてのものを手に入れることができますが、これはちょっと難しいものでした。あなたが私を助けることを願っています。

+0

あなたはどのデータベースを使用していますか? – Ben

+0

何も起こりませんでしたか?エラーでもない? –

答えて

1

あなたが知っている定数などを準備する必要はありません。いつものようにクエリを実行してください。

$query = $db->query('SELECT * FROM `database` WHERE timestamp < DATE_SUB(NOW(), INTERVAL 7 DAY) ORDER BY `timestamp` DESC'); 
$query->execute(); 

オリジナルの方法でも機能するはずですが、7日以上経過したレコードがデータベースに存在していますか?

+0

ああ、まあまあ一日中コーディングしていますが、私も質問に限界があることに気付かず、私が望んでいたものを手に入れることができませんでした。 – user1062704