我正在尝试在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();
}
答案 0 :(得分:1)
我不确定为什么你需要比较日期,所以我只是假设你想要更新那些创建的第二行。
我相信你使用MySql Events会更容易,因为你不必担心时区,因为它是同一时间,基本上它运行一个cron本身,你有基本相同的选项。
另一个优点是运行起来会更快,因为不需要运行PHP。
由于我发现您正在使用PHPMyAdmin,请转到您的数据库 - >活动 - >添加事件,从那里它非常直接。
这将使您的查询类似于:
UPDATE #__cronjob_run SET state=0 WHERE crondate = now()