如何从数据库中获取价值

How to get value from database

提问人:thatguyy 提问时间:7/26/2020 更新时间:7/26/2020 访问量:57

问:

我正在创建一个社交网络。用户可以拥有经过验证的帐户。如果该列的值为 1,则表示用户已通过验证,我想回显 .如果值为 0,我想回显 .我有一个假设获取所有这些数据的方法和一个应该回显该方法给出的内容的对象。但是即使值显示 1,它也会继续回响。有人可以告诉我怎么了?verified_userverifiednot verifiedNot verified

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

php mysql oop mysqli

评论

1赞 u_mulder 7/26/2020
传递但绑定另一个变量有什么意义?也要看看它的价值。$user_tovar_dump($verified_user)
0赞 thatguyy 7/26/2020
我将参数更改为 var dump comes back ass null$username
0赞 Lawrence Cherone 7/26/2020
它应该是$query->bind_param("s", $user_to);
0赞 Lawrence Cherone 7/26/2020
那么根本不需要多余的 if/elsereturn (bool) $verified_user
0赞 thatguyy 7/26/2020
@LawrenceCherone仍然得到相同的结果。未验证

答:

0赞 Dharman 7/26/2020 #1

您需要使用存储在变量中的结果,或者通过绑定到变量并获取它来获取实际值。$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;
}

评论

0赞 thatguyy 7/26/2020
我刚刚尝试了它们两个,现在它说已验证,即使我没有经过验证
0赞 Dharman 7/26/2020
的值是多少?的值是多少?您确定您选择了正确的记录吗?$verified_user$user_to
0赞 thatguyy 7/26/2020
是的,我是积极的。 它只能保持的值是 或verified_usertinyint(1)0(false)1(true)
0赞 thatguyy 7/26/2020
明白了。它为我提供了当前登录用户的值。我正在尝试检查是否有任何用户在其个人资料上经过验证
0赞 Dharman 7/26/2020
然后,您需要提供一个不同的参数来verifiedUser()