猿问

如何从数据库中获取值

我正在创建一个社交网络。用户可以拥有经过验证的帐户。如果该列的值为verified_user1,则意味着用户已通过验证并且我想 echo verified。如果值为 0 我想 echo not verified。我有一个应该获取所有这些数据的方法和一个应该回显该方法给出的内容的对象。但它继续回响Not verified,即使值显示 1。有人能告诉我出了什么问题吗?


public function verifiedUser($user_to) {


    $query = $this->con->prepare("SELECT verified_user FROM users WHERE username = ?");

    $query->bind_param("s", $this->user['username']);

    $query->execute();

    $query->bind_result($verified_user);

    $query_result = $query->get_result();


    if ($verified_user == 1) {


        return true;


    } else {


        return false;

    }


}

if($logged_in_user_obj->verifiedUser($username)) {


    echo "Verified";

} else{


        echo "Not Verified";

    }

我也尝试过num_rows,但这给了我现在得到的相同结果。


烙印99
浏览 110回答 1
1回答

慕工程0101907

您需要使用存储的结果$query_result,或者通过绑定到变量并获取它来获取实际值。如果您想使用,get_result()请执行以下操作:public function verifiedUser(string $user_to): bool {    $query = $this->con->prepare("SELECT verified_user FROM users WHERE username = ?");    $query->bind_param("s", $user_to);    $query->execute();    $query_result = $query->get_result();    $row = $query_result->fetch_assoc();    if ($row && $row['verified_user'] == 1) {        return true;    }    return false;}如果您想使用,bind_result请执行以下操作:public function verifiedUser(string $user_to): bool {    $query = $this->con->prepare("SELECT verified_user FROM users WHERE username = ?");    $query->bind_param("s", $user_to);    $query->execute();    $query->bind_result($verified_user);    $query->fetch();    return $verified_user == 1;}
随时随地看视频慕课网APP
我要回答