DATE_SUB(NOW(),INTERVAL 5 MINUTE)在PDO语句中不起作用

时间:2019-05-26 20:03:07

标签: mysql datetime

我正在将站点转换为使用准备好的语句,而不是mysqli。但是我遇到了一个我知道使用mysqli可以解决的问题,但是使用准备好的语句却无法解决。我想删除所有比数据库中记录的时间早5分钟的记录,在这种情况下,该时间存储在last_fail_login列中。 我没有收到错误,但是它删除了db表中的每条记录,无论它有多少分钟,这都是不正确的。 我粘贴了以下代码:

$stmt1 = $conn->prepare("DELETE FROM login_fail WHERE `last_fail_login` < DATE_SUB(NOW(), INTERVAL 5 MINUTE)");
$stmt1->execute();

1 个答案:

答案 0 :(得分:0)

我终于弄清楚了为什么它不起作用。我仍然了解这对它的影响,但是一旦我使用date_default_timezone_set('Europe/London');设置了时区,该查询就会起作用。奇怪的是,在使用MYSQLI时我不必设置它。感谢所有建议。