2011-08-08 174 views
-1

我不確定如何在用戶登錄時檢查數據庫上的匹配項,並在傳遞和用戶匹配條目時返回true。檢查用戶和密碼是否與數據庫相匹配

與用戶名和密碼對應的變量爲:$user$hash。我必須尋找匹配的表格是表Users和列:UserPassword

查詢將如何?由於

+2

谷歌周圍的PHP登錄形式,你會發現很多關於這方面的信息。 – Vache

回答

1

這是你需要查詢:

SELECT * FROM Users WHERE User = '$user' AND Password = '$hash' LIMIT 1; 

如果返回結果(你可以用mysql_num_rows()檢查),然後登錄是有效的。如果沒有,這是無效的。在數據庫查詢中使用它之前,請記住要使用mysql_real_escape_string()或其他轉義函數轉義$user

3

查詢將類似於此:

SELECT * FROM Users WHERE User='$user' AND Password='$hash' LIMIT 1; 

然後檢查行== 1如果數字的話,似乎有一個有效的登錄。記住你想要做的事:你試圖在數據庫中匹配兩件事情。 SQL「AND」確保兩個條件都是真實的。

我會檢查http://mysql.com/上的API以獲取更多信息。

+0

您還需要考慮保護您的輸入,SQL注入非常容易,特別是在登錄腳本上。 – diagonalbatman

+0

絕對如此。我建議在將輸入直接發送到查詢之前,先寫一個'sanitize'方法(你可以用正則表達式等等)。 – RageD

+0

像解釋。我也會把它添加到我的,但是你在1秒內打了我哈哈。 – Kyle

1
SELECT * FROM Users where User='$user' AND Password='$hash' LIMIT 1 
相關問題