18

次の表があります。

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;

しかし、これまでのところ、ゼロ行を返すため機能していません。

4

7 に答える 7

38

これを試してください::これはあなたの問題を解決します

SELECT * FROM `table` WHERE active=0 AND CURDATE() between dateStart and dateEnd
于 2012-11-26T11:02:12.697 に答える
4

MySQLはデフォルトでYYYY-MM-DDを使用します。

$todaysDate="2012-26-11";

する必要があります:

$todaysDate="2012-11-26";

また、クエリではその前後に一重引用符が必要です。

于 2012-11-26T10:59:42.587 に答える
0
$sql = mysql_query("SELECT * FROM register WHERE CURDATE() between reg_start_date and reg_end_date") or die(mysql_error());
于 2013-08-30T14:06:29.930 に答える
-1
$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;  
于 2012-11-26T11:04:30.753 に答える