Проверьте, совпадает ли текущая дата между двумя датами + mysql select query

У меня есть следующая таблица:

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;

Но он не работает. Любое решение. Спасибо заранее.

Ответ 1

Попробуйте следующее: это решит вашу проблему

SELECT * FROM `table` WHERE active=0 AND CURDATE() between dateStart and dateEnd

Ответ 2

MySQL использует YYYY-MM-DD по умолчанию:

$todaysDate="2012-26-11";

должен быть:

$todaysDate="2012-11-26";

И вам нужны одинарные кавычки вокруг него в запросе.

Ответ 3

$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;  

Ответ 4

$sql = mysql_query("SELECT * FROM register WHERE CURDATE() between reg_start_date and reg_end_date") or die(mysql_error());

Ответ 5

Вам нужно было поместить одинарные кавычки вокруг измененной даты:

"SELECT * FROM `table` WHERE active=0 AND '{$todaysDate}' between dateStart and dateEnd"