2011-03-25 62 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