准备声明 - 按时间戳限制结果

时间:2011-12-31 17:32:39

标签: php

我想将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();

但什么都没发生。 我通常设法让一切正常,但这个有点棘手。我希望你能帮助我。

1 个答案:

答案 0 :(得分:1)

你不必准备常数或其他任何你知道干净的东西。只需像往常一样运行查询。

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

虽然您的原始方法也应该有效 - 您确定数据库中有超过7天的记录吗?