php - 如何从数据库中获取价值
问题描述
我正在创建一个社交网络。用户可以拥有经过验证的帐户。如果该列的verified_user
值为 1,则表示用户已通过验证并且我想回显verified
。如果值为 0 我想回显not verified
。我有一个假设获取所有这些数据的方法和一个假设回显该方法给出的对象。但即使值显示为 1,它也会继续回响Not 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
,但这给了我现在得到的相同结果。
解决方案
您需要使用存储的结果$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;
}
推荐阅读
- javascript - 如何在 ReactJs(Web 平台)中为可滚动选项卡在中心对齐活动选项卡
- java - Java Spring接收长打印列表MismatchedInputException
- forms - Xamarin Forms 选择哪个组件
- google-home - 实施谷歌智能家居请求同步
- paypal - Paypal API v2 请求不记名令牌
- apache-spark - Spark UDF 使用 Cassandra 连接器查找密钥
- html - 如何在横幅图像中垂直居中页面标题文本(无弹性框/网格)?
- laravel - 如何将列类型从整数更改为大整数,而其他表在 laravel 中具有外部 id 关系?
- android - 具有多种风格的android签名应用程序的问题
- dialogflow-es - 当我在制作后不断删除代理时,我们可以在对话流中制作多少个代理