1 回答
TA贡献1806条经验 获得超8个赞
只需将它们创建为单独的查询。
$pass_fail_delete = $pdo->prepare("
DELETE FROM `login_fail`
WHERE
`last_fail_login` < DATE_SUB(NOW(), INTERVAL 5 MINUTE);
");
$pass_fail_insert = $pdo->prepare("
INSERT INTO login_fail (
user_id,
email,
last_fail_login,
fail_login_ip
) VALUES (
:user_id,
:email,
:last_login_date,
:ip
);
");
$pass_fail_update = $pdo->prepare("
UPDATE members SET
`last_fail_login` = :last_login,
`fail_login_ip`= :ip
WHERE
email = :email
");
$pass_fail_query = $pdo->prepare("
SELECT
*
FROM `login_fail`
WHERE
`email` = :email
AND `last_fail_login` > date_sub(now(), interval 5 minute)
");
然后,而不是使用mysqli_multi_query()执行$pass_fail在一个调用,执行3个查询:
$pass_fail_delete->execute();
$pass_fail_insert->execute([':user_id' => $user_id, ':email' => $email, ':last_login_date' => $last_login_date, ':ip' => $ip]);
$pass_fail_update->execute([':last_login' => $last_login, ':ip' => $ip, ':email' => $email]);
$pass_fail_query->execute([':email' => $email]);
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报