当 crondate(时间戳字段)和当前时间戳匹配时,我试图每分钟更新一次表行。当两者匹配时,我设置 state = 0 但不工作。我检查了 cronjob,它每分钟都在工作和执行。
如果有人能帮助我,我将不胜感激。
我的代码:
function runCronJob(){
$timestamp = date('Y-m-d H:i:s');
$db =& JFactory::getDBO();
$update_query = "UPDATE #__cronjob_run SET state=0 WHERE crondate = '$timestamp'";
$db->setQuery($update_query);
$db->query();
}
最佳答案
我不确定您为什么需要比较日期,所以我假设您想要更新恰好那一秒创建的行。
相信你用起来会方便很多MySql Events因为你不必担心时区,因为它是同一时间,基本上它自己运行一个 cron,你有基本相同的选项。
另一个优点是运行速度会更快,因为不需要运行 PHP。
因为我看到您正在使用 PHPMyAdmin,请转到您的数据库 -> 事件 -> 添加事件,然后从那里开始就非常简单了。
这将使您的查询类似于:
UPDATE #__cronjob_run SET state=0 WHERE crondate = now()
关于php - 使用 Cron Job 每分钟更新一次表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18168328/