2017-12-02 40 views
-1

給出我只是不能解決問題。我是編程初學者,所以我希望能夠得到幫助。我不能解決這個錯誤:mysqli_num_rows()期望參數1是mysqli_result,布爾在

if (count($errors) == 0) { 
     $password = md5($password); 
     $query = "SELECT * FROM users WHERE username='$username' AND password='$password'"; 
     $result = mysqli_query($db, $query); 

     if (mysqli_num_rows($result) == 1) { 
      $_SESSION['username'] = $username; 
      $_SESSION['success'] = "You are now logged in"; 
      header('location: index.php'); 
     }else { 
      array_push($errors, "Wrong username or password."); 
     } 
    } 
} 

回答

0

問題是,如果沒有返回任何內容,「SELECT」查詢返回false。如果用戶名和密碼不正確,請撥打$result=false。 mysqli_num_rows只接受mysqli_result對象作爲參數。

你可以改變你的if語句是:

if ($result){ 
    if (mysqli_num_rows($result) == 1) { 
     $_SESSION['username'] = $username; 
     $_SESSION['success'] = "You are now logged in"; 
     header('location: index.php'); 
    } 
}else { 
    array_push($errors, "Wrong username or password."); 
} 
相關問題