2014-04-01 79 views
0

此代碼循環訪問數據庫中的內容,該數組搜索數據庫中的用戶名變量,當它找到一個它應該從if語句中斷開的數據庫時。在數組中搜索用戶名

<?php 
while($row = mysql_fetch_array($resultSet, MYSQL_ASSOC)) 
    { 
if($username = $row['User_Name']){ 
    echo "username found"; 
    echo "Logged in as ", $Username; 
    break; 
    } 
else 
    { 
    echo "not yet"; 
    } 
} 
    mysql_close($conn); 
    ?> 
</div> 

我encoutering此錯誤:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in H:\STUDENT\S0190204\GGJ\Logon-process.php on line 36 
+1

什麼是 問題? – MSadura

+0

$ row ['User_Name'] - 是否正確? 錯誤:echo「登錄爲」,$用戶名; 正確:echo「Log as in」,$ username; //小寫U 錯誤:if($ username = $ row ['User_Name']) 正確:if($ username == $ row ['User_Name']) – Tyralcori

+0

我沒有看到任何問題。 – va5ja

回答

0

您應該避免傳遞這樣的大數據並在循環中搜索 - 這是SQL。

您的查詢應該是水木清華這樣的:

"SELECT .... WHERE `User_Name` = ".mysql_real_escape_string($username)."...." 
1

if($username = $row['User_Name']){ 

應該

if ($username == $row['User_Name']){ 
然而

,還有很多其他的方法來做到這一點。(像答案以上爲例)