2015-03-10 5 views
0

У меня есть поле DATETIME с именем «data» в таблице tomada. Я хочу получить все поля вчера. когда я эхо $ num_rows, значение равно 0. Где проблема?Mysql Выбрать вчера значения

$sql ="SELECT amperagem FROM tomada WHERE data = DATE_SUB(CURDATE(), INTERVAL 1 DAY)";// 
mysql_select_db('localiza'); 

$retval = mysql_query($sql, $conn); 
$num_rows = mysql_num_rows($retval); 
echo $num_rows; 
+0

Обратите внимание, что несколько лет назад кто-то решил принизить mysql_ API РНР. – Strawberry

ответ

1

Изменить

WHERE data = DATE_SUB(CURDATE(), INTERVAL 1 DAY)

в

WHERE date(data) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) 

Ваш data является datetime и он также будет включать в себя H:i:s и делать Y-m-d с DateTime не вернет ничего, так что вы должны сделать преобразование на сегодняшний день, делая сравнение.

+0

спасибо, отлично работает –

0

попробовать этот

SELECT amperagem FROM tomada WHERE DATA = SUBDATE(NOW(), 1); 
Смежные вопросы