我不確定如何在用戶登錄時檢查數據庫上的匹配項,並在傳遞和用戶匹配條目時返回true。檢查用戶和密碼是否與數據庫相匹配
與用戶名和密碼對應的變量爲:$user
和$hash
。我必須尋找匹配的表格是表Users
和列:User
和Password
。
查詢將如何?由於
我不確定如何在用戶登錄時檢查數據庫上的匹配項,並在傳遞和用戶匹配條目時返回true。檢查用戶和密碼是否與數據庫相匹配
與用戶名和密碼對應的變量爲:$user
和$hash
。我必須尋找匹配的表格是表Users
和列:User
和Password
。
查詢將如何?由於
這是你需要查詢:
SELECT * FROM Users WHERE User = '$user' AND Password = '$hash' LIMIT 1;
如果返回結果(你可以用mysql_num_rows()
檢查),然後登錄是有效的。如果沒有,這是無效的。在數據庫查詢中使用它之前,請記住要使用mysql_real_escape_string()
或其他轉義函數轉義$user
。
查詢將類似於此:
SELECT * FROM Users WHERE User='$user' AND Password='$hash' LIMIT 1;
然後檢查行== 1如果數字的話,似乎有一個有效的登錄。記住你想要做的事:你試圖在數據庫中匹配兩件事情。 SQL「AND」確保兩個條件都是真實的。
我會檢查http://mysql.com/上的API以獲取更多信息。
您還需要考慮保護您的輸入,SQL注入非常容易,特別是在登錄腳本上。 – diagonalbatman
絕對如此。我建議在將輸入直接發送到查詢之前,先寫一個'sanitize'方法(你可以用正則表達式等等)。 – RageD
像解釋。我也會把它添加到我的,但是你在1秒內打了我哈哈。 – Kyle
SELECT * FROM Users where User='$user' AND Password='$hash' LIMIT 1
谷歌周圍的PHP登錄形式,你會發現很多關於這方面的信息。 – Vache