/**
* 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查询数据库以显示横幅广告。它完美地工作。
但是,我想包含“BETWEEN”,以便它可以检查横幅开始日期和结束日期。
同样,此查询运行 - 并显示横幅!但是......当我添加“BETWEEN”时,它不再跟随“Type”。现在,它显示矩形和排行榜。疯狂的是,当我运行此查询时,它在 phpMyAdmin 中运行良好。