我正在创建一个登录脚本。在这个脚本中,我想限制用户登录尝试,但只限制一个小时。一小时后,他们可以再试几次,然后再等一小时。在我的数据库中,我有ID,IP地址和DateTime字段。
我有谷歌,并没有找到解决方案。但是,通过搜索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)
{
...
}
提前感谢您的帮助。
答案 0 :(得分:1)
请考虑使用简单的数学和INTERVAL
语法:
SELECT *
FROM log
WHERE ip = ?
AND (datetime + INTERVAL 1 HOUR) > NOW()