2015-10-18 50 views
1

我编写了以下方法来测试用户名是否为$ uname的用户是否存在于mysql数据库中。不幸的是,即使在用户明确存在的情况下,它也不会返回任何行。 IM假定有一个复杂,因为它的一份声明中,但林不知道你怎么样/使用mysqli预准备语句测试表中某一行的存在

public function isUserExists($uname) 
{ 
    $b = false; 
    $sql = "SELECT * FROM `User` WHERE `username` = ?"; 
    $stmt = $this->conn->prepare($sql); 
    $stmt->bind_param('s',$uname); 
    $result = $stmt->execute(); 
echo "num rows: ".$stmt->num_rows; 
    if($stmt->num_rows >= 1) 
    { 
     echo "user already exists"."<br />"; 
     $b = true; 
    } 
    return $b; 
} 
+0

尝试在'execute'之后但在使用'num_rows'之前添加'$ stmt-> store_result();'。 –

+0

谢谢@EdCottrell – gezinspace

+0

修好了吗?如果是这样,我会将其作为答案发布。 –

回答

0

有才能的结果工作执行后,查询检索结果。在execute之后但在使用num_rows之前添加$stmt->store_result();