PHP我用和创建了登录网页MySQL。当登录失败时,MySQL数据库将记录该尝试。每 60 秒尝试将重置为零。3 次尝试后,网页将不允许我登录该用户名。
我有 2MySQL张桌子叫
userdb(用户名、密码和尝试)
和
loginA(用户和登录尝试)
userdb如果我无法登录,我设法记录了尝试的次数。ForloginAttempt用于使触发器变userdb回尝试归零。我设法导致尝试重置为零,但不是 60 秒。它立即发生。如果我添加了 do sleep (60),它将在网页上冻结 60 秒。我想知道有什么方法可以在 60 秒后激活触发器而不在网页上加载 60 秒?
MYSQL代码
CREATE TRIGGER login_condition
AFTER UPDATE ON loginA FOR EACH ROW
BEGIN
DO SLEEP(40);
UPDATE userdb set attempts = 0 where username=new.username;
END
PHP 代码(这个用来激活触发器)
$query = "UPDATE loginA SET date='$date' WHERE username='$user'";
storeData($conn,$query);
我希望此触发器在 60 秒后激活并影响网页加载。
12345678_0001