/**
* Query the database, and grab a random banner.
*
* @return object Database row.
*/
protected function getRandomBanner()
{
try
{
$stmt = $this->db->prepare("SELECT * FROM banners WHERE Type=:type BETWEEN Start AND End ORDER BY RAND() LIMIT 1");
$stmt->execute(array(':type' => $this->type));
return $stmt->fetch(PDO::FETCH_OBJ);
} catch (PDOException $e) {
echo $e->getMessage();
}
}
Этот код является частью класса. Он запрашивает БД для отображения рекламных баннеров на основе простой строки запроса display_banner.php? Banner_type = leaderboard. Он работает отлично.PDO Подготовленное заявление Запрос не следует WHERE
Однако я хочу включить «МЕЖДУ», чтобы он мог проверить дату и дату начала баннера.
Опять же, этот запрос запускается - и отображаются баннеры! Однако ... Когда я добавил «МЕЖДУ», он больше не следовал «Тип». Теперь он показывает прямоугольники AND leaderboards. Что с ума, в phpMyAdmin, когда я запускаю этот запрос, он работает отлично.
Текущая дата должна быть между датой начала и окончания даты? – hjpotter92
в таблице баннеров есть столбец «Начало и конец». Начало = 2013-03-22 \t Конец = 2013-12-31 – Greg