Php X分钟后如何更新表格?
如何在操作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
$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来做。这在共享主机上可以用吗?或者你需要副总裁?