自动每天更新记录

时间:2016-09-07 11:25:35

标签: php mysql sql

我正在使用此代码

$q = mysql_query("SELECT `time` from `table`");
$row = mysql_fetch_assoc($q);
$timeDiff = time() - $row['time'];
if ($timeDiff >= 86400){
  //run code
}

但我在第二行收到错误,有人可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:0)

你走了:

$datetime = new DateTime("+1 days");
$date = $datetime->format("Y-m-d H:i:s");

$timeDiff = time() - $row['time'];

if($timeDiff >= '$date) {

 //Code Here

}

修改

您可以在your_file.php中更新代码并运行此代码:

0 0 1 * * php /var/www/vhosts/your_somain.com/httpdocs/scripts/your_file.php

这将每月运行一次,在该月的第一天午夜(即1月1日凌晨12:00,2月1日凌晨12:00等):

进一步说明:

参考:tutsplus.com

希望它会对你有所帮助。

答案 1 :(得分:0)

输出错误

 $q = mysql_query("SELECT `time` from` table`");

    if (!$q) {
       $message = 'Invalid query:'.mysql_error(). "\n";
       die($message);
    }

    while($row = mysql_fetch_assoc($q)) {
        $timeDiff = time() - $row['time'];

        if ($timeDiff >= 86400){
           //run code
        }
    }

答案 2 :(得分:0)

问题不在于第二行。问题是第一行。 "从time"中选择table - table是mysql中的保留关键字。