Store and iterate over result of query in mysqli(在 mysqli 中存储和迭代查询结果)
问题描述
这是我在 php 中的简单查询,使用 mysqli 面向对象的风格:
This is my simple query in php, using mysqli object oriented style:
$query = "SELECT name FROM usertable WHERE id = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $id);
$id= $_GET['id'];
$stmt->execute();
$stmt->bind_result($name);
while($stmt->fetch()){
echo $name." ";
}
$stmt->free_result();
$stmt->close();
这很好用.我获得了从 select 语句中检索到的名称列表.
This works fine. I obtain the list of name retrieved from the select statement.
现在,在 while 我想使用 $name
变量作为另一个查询的参数,但 mysqli 不允许这样做,因为我必须关闭第一个查询,然后调用第二个查询.
Now, inside the while I want use the $name
variable as parameter for another query, but mysqli do not allow this, since I have to close the first query and then call the second query.
所以我想我必须存储第一个查询的结果,然后调用新查询来迭代结果.
So I think I have to store the result of the first query and then iterate over the result calling a new query.
我尝试了以下方法:
$query = "SELECT name FROM usertable WHERE id = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $id);
$id= $_GET['id'];
$stmt->execute();
//$stmt->bind_result($name);
$result = $stmt->store_result();
$stmt->free_result();
$stmt->close();
while ($row = $result->fetch_row())
{
echo $row[0]." ";
}
但这行不通.while 中的代码永远无法访问.
But this does not work. The code inside while is never reached.
注意:我想避免使用 multi_query()
.
推荐答案
我已经解决了问题:
$query = "SELECT name FROM usertable WHERE id = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $id);
$id= $_GET['id'];
$stmt->execute();
$result = $stmt->get_result();
$stmt->free_result();
$stmt->close();
while ($row = $result->fetch_array(MYSQLI_NUM))
{
echo $row[0]." ";
}
只需使用 get_result()
和 fetch_array()
这篇关于在 mysqli 中存储和迭代查询结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 mysqli 中存储和迭代查询结果
基础教程推荐
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在多维数组中查找最大值 2021-01-01