Сценарий входа, как работает TIMEDIFF? - PullRequest
0 голосов
/ 25 марта 2011

Я создаю скрипт входа в систему.В этом скрипте я хотел бы ограничить попытки входа пользователей, но только на час.Через час они могут повторить попытку несколько раз, прежде чем ждать еще час.В моей базе данных есть поля ID, IP-адрес и DateTime.

У меня есть Google, и я не нашел решения.Тем не менее, от поиска по TIMEDIFF, было довольно много информации.Исходя из этого, я сделал запрос и скрипт ниже.Проблема в том, что это не работает.Не могли бы вы помочь мне заставить его работать?

$query = "SELECT * FROM `log` WHERE `ip` = '".$ip."' AND TIMEDIFF('".date('Y-m-d H:i:s')."',`datetime`) > '24:00:00'";
$result = mysql_query($query);
$rows   = mysql_num_rows($result);

if($rows >= $this->maxAttempts)
{
    ...
}

Заранее спасибо за вашу помощь.

1 Ответ

1 голос
/ 25 марта 2011

Попробуйте использовать простую математику и синтаксис INTERVAL:

SELECT *
  FROM log
 WHERE ip = ?
   AND (datetime + INTERVAL 1 HOUR) > NOW()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...