2011-03-25 44 views
0

我正在创建一个登录脚本。在这个脚本中,我想限制用户登录尝试,但只限一个小时。一小时后,他们可以再次尝试几次,然后再等一小时。在我的数据库中,我有ID,IP地址和DateTime字段。登录脚本,TIMEDIFF如何工作?

我有Google'd它,并没有找到解决方案。但是,从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

考虑使用简单的数学和INTERVAL语法来代替:

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

太感谢你了,完美的作品!好极了! – Winfried 2011-03-26 16:43:05