2012-02-20 7 views
2

mysqliのクエリから返された行を数えようとしていますが、正しいユーザーIDとパスワードを指定しましたが、戻ってきた。私はユーザーIDとハッシュされたパスワードを出力して、クエリにバインドして、それをheidiSqlで提供したので、返された行は1つしかありません。この機能( 'プロパティ')のための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; 
    } 
} 
関連する問題