2012-02-20 76 views
2

我想從mysqli中的查詢返回的行數,我知道我提供了正確的用戶ID和密碼,但它一直返回0的行數回。我甚至迴應了用戶ID和綁定到查詢的哈希密碼,然後在heidiSql中提供它,並且我得到了一行返回。如何檢查mysqli是否傳遞了正確的值

if($query = $db->prepare("SELECT user_id, pword_hash FROM tbl_users WHERE user_id=? AND pword_hash=?")){ 

      $query->bind_param("ss", $user_id, $hash); 
      $query->execute(); 
      echo $query->num_rows; 

      if($query->num_rows > 0){ 
       echo 1; 
      } 

     } 

回答

2

請爲read the documentation此功能('屬性')。該頁面上的評論也是相關的。

您應該使用$query->store_result();緩衝語句句柄中的整個結果集,以便查看返回的行數。

試試這個:

if($query = $db->prepare("SELECT user_id, pword_hash FROM tbl_users WHERE user_id=? AND pword_hash=?")){ 
    $query->bind_param("ss", $user_id, $hash); 
    $query->execute(); 
    $query->store_result(); 
    echo $query->num_rows; 
    if($query->num_rows > 0){ 
     echo 1; 
    } 
} 
相關問題