Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 登录脚本,TIMEDIFF如何工作?_Php_Sql_Datetime_Time - Fatal编程技术网

Php 登录脚本,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:

我正在创建一个登录脚本。在这个脚本中,我想限制用户的登录尝试,但仅限于一小时。一个小时后,他们可以再试几次,然后再等一个小时。在我的数据库中,我有ID、IP地址和日期时间字段

我用谷歌搜索过,但没有找到解决方案。然而,通过搜索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)
{
    ...
}

提前感谢您的帮助。

请考虑使用简单的数学和
间隔
语法:

SELECT *
  FROM log
 WHERE ip = ?
   AND (datetime + INTERVAL 1 HOUR) > NOW()