我想运行一个cronjob,它检查数据库表中的timespamp小于当前时间+1个月。但我不知道该怎么做。
我试过一些东西,但不起作用。
$buy_time=strtotime($row['sdate']);
$current_time= strtotime("now");
$diff=$current_time - $buy_time;
$SQL = "UPDATE product SET status=0 WHERE sdate <'$diff'";
$res= mysqli_query($link,$SQL);
假设sdate
字段使用本地mysql日期/日期时间字段,则不使用PHP生成日期并将其粘贴到查询中,而是直接在mysql中完成:
... WHERE sdate >= (NOW() - INTERVAL 1 MONTH)
$currentTime = time();
$timePlusMonth = $currentTime+30*24*60*60; //30 days * 24 hours * 60 minutes * 60 seconds
$timePlusMonth = date("Y-m-d H:i:s", $timePlusMonth);
$query = "UPDATE product SET status=0 WHERE sdate < '$timePlusMonth'";
mysqli_query($link, $query);
您的"sdate"列必须为Y-m-d H:i:s格式(2013-08-02 16:02:45)