How to use bind_result() instead of get_result() in php(如何在 php 中使用 bind_result() 而不是 get_result())
问题描述
我正在为 uni 开发一个项目,并且一直在 testing server
上使用以下代码从基于 的表中
:获取所有设备
user_id
I'm working on a project for uni and have been using the following code on a testing server
to get all devices
from a table based on a user_id
:
public function getAllDevices($user_id) {
$stmt = $this->conn->prepare("SELECT * FROM devices WHERE primary_owner_id = ?");
$stmt->bind_param("i", $user_id);
$stmt->execute();
$devices = $stmt->get_result();
$stmt->close();
return $devices;
}
这在我的测试服务器上运行良好,但在迁移到大学项目服务器时返回此错误:
This worked fine on my testing server but returns this error when migrating over to the university project server:
Call to undefined method mysqli_stmt::get_result()
一些谷歌搜索建议使用 bind_result()
而不是 get_result()
但我不知道如何在表中执行此all fields
.大多数示例只显示返回 one field
Some googling suggests using bind_result()
instead of get_result()
but I have no idea how to do this all fields
in the table. Most examples only show returning one field
任何帮助将不胜感激
推荐答案
假设你不能使用 get_result()
并且你想要一个设备数组,你可以这样做:
Assuming you can't use get_result()
and you want an array of devices, you could do:
public function getAllDevices($user_id) {
$stmt = $this->conn->prepare("SELECT device_id, device_name, device_info FROM devices WHERE primary_owner_id = ?");
$stmt->bind_param("i", $user_id);
$stmt->execute();
$stmt->bind_result($id, $name, $info);
$devices = array();
while($stmt->fetch()) {
$tmp = array();
$tmp["id"] = $id;
$tmp["name"] = $name;
$tmp["info"] = $info;
array_push($devices, $tmp);
}
$stmt->close();
return $devices;
}
这会创建一个临时数组并存储其中每一行的数据,然后将其推送到主数组.据我所知,您不能在 bind_result()
中使用 SELECT *
.相反,您将不得不在 SELECT
This creates a temporary array and stores the data from each row in it, and then pushes it to the main array. As far as I'm aware, you can't use SELECT *
in bind_result()
. Instead, you will annoyingly have to type out all the fields you want after SELECT
这篇关于如何在 php 中使用 bind_result() 而不是 get_result()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 php 中使用 bind_result() 而不是 get_result()
基础教程推荐
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在多维数组中查找最大值 2021-01-01