Php X分钟后如何更新表格?

Php X分钟后如何更新表格?,php,mysql,events,zend-framework,stored-procedures,Php,Mysql,Events,Zend Framework,Stored Procedures,如何在操作X分钟后更新表 我提出以下请求: $req = Query("UPDATE clients SET lockclient = 0 WHERE id = $id") 我想在5分钟后创建事件 UPDATE clients SET lockclient = 1 WHERE id = $id 我试图用存储过程创建事件,但这是不可能的 DELIMITER $$ CREATE PROCEDURE proc ( idClient INTEGER ) BE

如何在操作X分钟后更新表

我提出以下请求:

$req = Query("UPDATE clients SET lockclient = 0 WHERE id = $id")
我想在5分钟后创建事件

UPDATE clients SET lockclient = 1 WHERE id = $id
我试图用存储过程创建事件,但这是不可能的

DELIMITER $$ 

CREATE PROCEDURE proc
   (  
      idClient INTEGER 
   ) 
   BEGIN 
        CREATE EVENT updateClientLock
            ON SCHEDULE
                AT NOW() + INTERVAL 5 MINUTE
            ON COMPLETION NOT PRESERVE
            ENABLE
        DO BEGIN
            UPDATE client set lockclient = 0 where id = idClient ;
        END

   END$$ 

DELIMITER ;

还有其他方法吗?

通过使用cron作业文件进行X分钟操作,您可以做到这一点
它将在您指定的时间后自动调用它

问题的解决方案:

static public function eventUpdateLockClient($id, $min)
{
    $bdd = new mysqli ($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
    $sql1 = "CREATE EVENT updateClientLock$id
        ON SCHEDULE
        AT NOW() + INTERVAL $min MINUTE
        ON COMPLETION NOT PRESERVE
        ENABLE
        DO BEGIN
            UPDATE clients set lockclient = 0 where id = $id ;
        END";
    $bdd->query(${"sql1"});

}

将它存储在数据库中的一个特殊表中我只是回答,我认为这是相同的问题。也许它可以帮助你。谢谢,但我想用php和我的MySQL来做。这在共享主机上可以用吗?或者你需要副总裁?