2016-04-26 102 views
-1

試圖與用戶名/密碼我已創建登錄時,我收到此錯誤SQL錯誤:mysql_num_rows)(預計參數1是資源

Warning: mysql_num_rows() expects parameter 1 to be resource 

。在這行代碼

if(mysql_num_rows($checklogin) == 1) 

這裏它給我的錯誤是它周圍的代碼

$checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'"); 

    if(mysql_num_rows($checklogin) == 1) 
    { 
     $row = mysql_fetch_array($checklogin); 
     $email = $row['EmailAddress']; 

     $_SESSION['Username'] = $username; 
     $_SESSION['EmailAddress'] = $email; 
     $_SESSION['LoggedIn'] = 1; 

     display_user_profile(); 
    } 
+0

這是一個很受歡迎的問題 - 你的查詢失敗併產生一個布爾型的'false'結果,你使用時沒有首先檢查它是否有效。此外,您的代碼存在一些安全問題:SQL注入,未加密的密碼,未加密的密碼。 – halfer

+0

我檢查了它,但我刪除了檢查代碼。我反正修正了它 – DontMatter

+0

[mysql \ _fetch \ _array()/ mysql \ _fetch \ _assoc()/ mysql \ _fetch \ _row()的可能重複需要參數1是資源或mysqli \ _result,布爾給定](http:/ /stackoverflow.com/questions/2973202/mysql-fetch-array-mysql-fetch-assoc-mysql-fetch-row-expects-parameter-1-to) – halfer

回答