SQL сравнивая даты неправильно

<?php
date_default_timezone_set('Asia/Kolkata');
$currentDate =  date("d M Y h:i:s a");
$sql=mysql_query("update products set past=0 where valid_date>'".$currentDate."'");
$sql1=mysql_query("update products set past=1 where valid_date<'".$currentDate."'");
?>

Выше мой код. если valid_date это 31 января 2017 12:25:07 вечера SQL-запрос по-прежнему принимает это как будущую дату (т.е. больше, чем сегодняшняя дата), но он принимает 05 февраля 2017 12:25:07 вечера как прошлый. Точно сказать, что запрос сравнивает даты февраля правильно, а январь неправильно.

что не так в моем коде?

2

Решение

Попробуй это,

<?php
date_default_timezone_set('Asia/Kolkata');
$sql=mysql_query("update products set past = CASE WHEN valid_date > NOW() THEN 0 WHEN valide_date < NOW() THEN 1 END where 1 = 1");
?>

Это документация для СЕЙЧАС() функция MySQL

И, как говорится в вашем состоянии, этот код будет работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]