如何检查mysqli是否传递了正确的值
问题描述:
我想从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;
}
}
答
请为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;
}
}