当前位置: 首页 > 知识库问答 >
问题:

mysqli编写的语句,如何循环结果集

林绪
2023-03-14

我在研究mysqli准备的声明,我有两个问题。

在阅读过程中,我发现预处理语句的执行顺序如下所示:

$sql = 'SELECT image_id, filename, caption FROM images WHERE image_id = ?';

// connect to the database
$conn = ....

$stmt = $conn->stmt_init();

$stmt->prepare($sql);

$stmt->bind_param('i', $id);

$stmt->execute();

$stmt->bind_result($image_id, $filename, $caption);

// optional: get total of records in the result set
$stmt->store_result();
$numRows = $stmt->num_rows;

// loop through the result set
while ($stmt->fetch()) {
    // code goes here...
}

or 

// fetch the result for one record
$stmt->fetch()

// free & close
$stmt->free_result();
$stmt->close;

$conn->close();

这是我的第一个问题:

在我阅读时,它还提到以下内容:

如果不将结果绑定到变量,请使用$row=$stmt-

他们使用这两种方法中的任何一种来循环结果集是否有任何优点/缺点?如果没有区别,那么为什么还要麻烦使用$stmt绑定结果呢-

这是我的另一个问题:

  • $stmt-

希望你的回答能让我更好地理解事先准备好的陈述,这样我就能做一些安全的事情。。。

谢谢

共有1个答案

古明煦
2023-03-14

>

$stmt-

尽管手册中指出:“当不再需要结果对象时,应始终使用mysqli_free_result()释放结果”,但通常的做法是不使用free_result并关闭语句。关闭后,您不能再使用结果集,也不能重用它。当php死机时,内存仍然会被释放。

 类似资料:
  • 正在研究这一点PHP(刚刚开始,正在查看文档)。我在另一个页面上有一个表单,所有内容都正确传递,查询返回结果(这意味着搜索并返回用户搜索的结果)。行数显示正确,因此结果正确,但我尝试的几个选项在显示结果时失败。我只想显示返回行的结果。另外,如果对如何简化prepare语句和bind有什么建议的话,我还没有找到大量使用LIKE和%搜索多个列的示例,如下所示。谢谢

  • 1、什么是循环语句 一般编程语言都有循环语句,为什么呢? 那就问一下自己,我们弄程序是为了干什么? 那肯定是为了方便我们工作,优化我们的工作效率啊。 而计算机和人类不同,计算机不怕苦也不怕累,也不需要休息,可以一直做。 你要知道,计算机最擅长就是做重复的事情。 所以这时候需要用到循环语句,循环语句允许我们执行一个语句或语句组多次。 循环语句的一般形式如下: 在 Python 提供了 for 循环和

  • while 循环:while 条件 do … end repeat 循环:repeat … until 条件 for 循环:for 变量 = 初值,终点值,步进 do … end for 循环:for 变量 1,变量 2,… ,变量 N in表或枚举函数 do … end while 循环 my_table = {1,2,3} local index = 1 -- 注意: table 中的索引从

  • 主要内容:使用标签来控制流程有时某些指令需要重复执行,循环是一种理想的方法。循环表示必须重复的一组指令。在循环的上下文中,重复称为迭代。 下图说明了循环的分类 - 下面我们首先来了解确定(Definite)循环 。迭代次数是明确/固定的循环称为确定循环。 编号 循环 描述 1 for循环 循环是一个确定循环的实现,用于执行代码块指定的次数。 2 for…in循环 循环用于循环对象的属性。 接下来了解无限循环。当循环中的迭代次

  • 主要内容:循环控制语句有时可能存在需要多次执行代码块的情况。 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推。 编程语言提供各种控制结构,允许更复杂的执行路径。 循环语句允许多次执行语句或语句组。 以下是大多数编程语言中循环语句的一般流程 - Swift 4编程语言提供以下类型的循环来处理循环要求。 单击以下链接查看其详细信息。 编号 循环类型 描述 1 for-in循环 此循环为范围,

  • 主要内容:Vue.js 循环语句,v-for 指令,v-for,v-for,v-for,v-for,v-forVue.js 循环语句 循环使用 v-for 指令。 v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。 v-for 可以绑定数据到数组来渲染一个列表: v-for 指令 <div id="app"> <ol> <li v-for="site in sites"> {{ site.name }} </li>