<?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
是2017年1月31日下午12:25:07,则SQL查询仍将此作为未来日期(即大于今天的日期),但需要时间为2017年2月5日12:25:07 。准确地说,该查询正确地比较了2月日期和错误地比较了1月日期。
我的代码有什么问题?
答案 0 :(得分:0)
试试这个,
<?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");
?>
这是NOW() mysql函数的文档。
正如您的条件所述,此代码将起作用。