Удалить записи, которые больше, чем время () - PullRequest
0 голосов
/ 17 февраля 2011

Я пытаюсь удалить записи, срок действия которых истек через 20 минут, в столбце содержится отметка времени time()+1200 (20 минут вперед).

Когда я выполняю этот запрос:

$sql = "DELETE FROM " . SESSIONS_TABLE . "
        WHERE session_expire >= " . time() . "
        AND session_open = 1";

Все записи, которые не прошли отметку времени, все еще удаляются ... почему это происходит?

Ответы [ 2 ]

7 голосов
/ 17 февраля 2011

Возможно, вы хотите удалить записи, которые на меньше , чем time().

2 голосов
/ 17 февраля 2011

Ваше условие ГДЕ неверно. Вам нужно использовать ..

WHERE session_expire <= " . time() . "

... в противном случае вы удаляете сеансы, срок действия которых истекает после предоставленного времени.

Кроме того, вы можете просто использовать функцию MySQLs NOW, если часы вашего сервера баз данных находятся в одном часовом поясе и т. Д.

т.е:.

WHERE session_expire <= NOW()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...