2011-12-31 2 views
-1

Я хочу ограничить результаты SQL более чем на 1 неделю.Подготовить инструкцию - ограничить результаты по timestamp

Вот как это выглядит в обычном 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

Смежные вопросы