我想运行一个cron作业,在db表中检查时间戳小于当前时间+ 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);
答案 0 :(得分:1)
假设您正在为sdate
字段使用本机mysql日期/日期时间字段,那么不要使用PHP生成日期并将其粘贴到查询中,直接在MySQL中执行所有操作:
... WHERE sdate >= (NOW() - INTERVAL 1 MONTH)
答案 1 :(得分:0)
$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)