我有如下表:
id dateStart dateEnd active
1 2012-11-12 2012-12-31 0
2 2012-11-12 2012-12-31 0
我想在dateStart和dateEnd之间进行比较,今天的日期。
以下是我对这个查询:
$todaysDate="2012-26-11";
$db = Zend_Registry::get("db");
$result = $db->fetchAll("SELECT * FROM `table` WHERE active=0 AND {$todaysDate} between dateStart and dateEnd");
return $result;
但它不工作。 任何解决方案。 提前致谢。
试试这个::这将解决你的问题
SELECT * FROM `table` WHERE active=0 AND CURDATE() between dateStart and dateEnd
MySQL使用YYYY-MM-DD默认情况下:
$todaysDate="2012-26-11";
应该:
$todaysDate="2012-11-26";
而你需要它周围的单引号中查询。
$todaysDate="2012-11-26";//changed date
$db = Zend_Registry::get("db");
$select=$db->query("SELECT * FROM `table` WHERE active=0 AND {$todaysDate} between dateStart and dateEnd");
$result = $select->fetchAll();
return $result;
$sql = mysql_query("SELECT * FROM register WHERE CURDATE() between reg_start_date and reg_end_date") or die(mysql_error());
你需要把周围的更改了日期的单引号:
"SELECT * FROM `table` WHERE active=0 AND '{$todaysDate}' between dateStart and dateEnd"