0

我想运行一个 cronjob 来检查 db 表,其中 timepamp 小于当前时间 + 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);
4

2 回答 2

1

假设您对该字段使用本机 mysql 日期/日期时间sdate字段,然后不要使用 PHP 生成日期并将它们粘贴到查询中,直接在 MySQL 中完成所有操作:

... WHERE sdate >= (NOW() - INTERVAL 1 MONTH)
于 2013-08-02T13:57:55.820 回答
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);

您的“日期”列必须采用 Ymd H:i:s 格式 (2013-08-02 16:02:45)

于 2013-08-02T14:03:22.170 回答