首页 >数据库 >mysql教程 >MySQLi 中的'bind_result”与'get_result”:您应该选择哪种方法?

MySQLi 中的'bind_result”与'get_result”:您应该选择哪种方法?

Patricia Arquette
Patricia Arquette原创
2024-12-11 12:34:11914浏览

`bind_result` vs. `get_result` in MySQLi: Which Method Should You Choose?

MySQLi 中的 bind_result 与 get_result 之间的差异

MySQLi 提供了两种从查询结果中检索数据的方法:bind_result 和 get_result。每种方法都有自己的优点和缺点,概述如下。

bind_result

Bind_result 将变量绑定到查询结果中的列。如果您想处理结果中的各个值,这会很有用。

语法:

$stmt = $mysqli->prepare($query);
$stmt->bind_result($var1, $var2, $var3);
$stmt->execute();
while ($stmt->fetch()) {
    // Do something with $var1, $var2, and $var3
}

bind_result 的优点:

  • 适用于 PHP 5.3 和稍后
  • 为每列返回单独的变量
  • 如果只需要处理几列,比 get_result 更高效

bind_result 的缺点:

  • 需要您手动列出所有列在查询中
  • 如果需要以数组形式返回一行,可以更详细
  • 如果表结构发生变化则需要更改代码

get_result

Get_result 返回表示查询结果的对象或数组。如果您想处理整个结果,这可能比 bind_result 更方便。

语法:

$stmt = $mysqli->prepare($query);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // Do something with $row
}

get_result 的优点:

  • 返回一个关联/枚举数组或对象,自动填充返回行中的数据
  • 允许您使用 fetch_all() 方法一次检索所有返回的行

get_result 的缺点:

  • 需要 PHP 5.5 或更高版本
  • 如果您只需要处理几列,可能比 bind_result 效率低

以上是MySQLi 中的'bind_result”与'get_result”:您应该选择哪种方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn