我需要比较两个日期,如果一个日期大于另一个则sql将运行。这是我的代码比较日期和时间php
date_default_timezone_set('Asia/Kuala_Lumpur');
$date = date('Y-m-d G:i:s');
$query = mysql_query("SELECT * FROM package_transaction");
if(mysql_num_rows($query) > 0) {
while($row = mysql_fetch_array($query)) {
$transac_code = $row['transac_code'];
$duedate = $row['payment_due'];
if(strtotime($date) > strtotime($duedate))
{
mysql_query("UPDATE package_transaction SET `status` = 'cancelled' WHERE `payment_due` = `$duedate` AND `transac_code` = `$transac_code`");
}
}
}
但它不工作。请帮助
,请不要使用'mysql_ *'功能,它弃用(见[*红色框*](http://php.net/manual/en/function.mysql-query.php)),并且容易受到sql注入的影响。使用[* PDO *](http://php.net/manual/en/book.pdo.php)或[* MySQLi *](http://php.net/manual/en/book.mysqli.php) 。另外,“它不工作”并没有真正告诉我们很多......代码在哪一行失败?什么是错误? etc – alfasin 2013-02-11 04:39:10
那么,什么问题 – Rab 2013-02-11 04:40:06
您可以随时将付款的截止日期存储为unix时间戳,然后您可以将所有代码简化为1行:'UPDATE ... WHERE \'payment_due \'<$ currentTime' – Supericy 2013-02-11 04:40:11