/**
* 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 =排行榜。它完美的作品。PDO預處理語句查詢不按WHERE
但是,我想包含「BETWEEN」,因此它可以檢查橫幅開始日期和結束日期。
同樣,這個查詢運行 - 和橫幅顯示!但是...當我添加「BETWEEN」時,它不再遵循「類型」。現在,它顯示矩形和排行榜。什麼是瘋狂的,是在phpMyAdmin,當我運行這個查詢時,它完美的工作。
當前日期應該在開始日期和結束日期之間? – hjpotter92 2013-03-27 18:51:05
在橫幅表中,有一個開始和結束列。啓動= 2013年3月22日結束\t 2013-12-31 =那 – Greg 2013-03-27 18:52:46