Php 登录脚本,TIMEDIFF如何工作?
我正在创建一个登录脚本。在这个脚本中,我想限制用户的登录尝试,但仅限于一小时。一个小时后,他们可以再试几次,然后再等一个小时。在我的数据库中,我有ID、IP地址和日期时间字段 我用谷歌搜索过,但没有找到解决方案。然而,通过搜索TIMEDIFF,有相当多的信息。基于此,我完成了下面的查询和脚本。问题是,它不起作用。你能帮我把它弄好吗Php 登录脚本,TIMEDIFF如何工作?,php,sql,datetime,time,Php,Sql,Datetime,Time,我正在创建一个登录脚本。在这个脚本中,我想限制用户的登录尝试,但仅限于一小时。一个小时后,他们可以再试几次,然后再等一个小时。在我的数据库中,我有ID、IP地址和日期时间字段 我用谷歌搜索过,但没有找到解决方案。然而,通过搜索TIMEDIFF,有相当多的信息。基于此,我完成了下面的查询和脚本。问题是,它不起作用。你能帮我把它弄好吗 $query = "SELECT * FROM `log` WHERE `ip` = '".$ip."' AND TIMEDIFF('".date('Y-m-d H:
$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)
{
...
}
提前感谢您的帮助。请考虑使用简单的数学和
间隔
语法:
SELECT *
FROM log
WHERE ip = ?
AND (datetime + INTERVAL 1 HOUR) > NOW()