首页 > 后端开发 > php教程 > MySQLi 中的 `bind_result()` 与 `get_result()`:您应该选择哪种方法?

MySQLi 中的 `bind_result()` 与 `get_result()`:您应该选择哪种方法?

Patricia Arquette
发布: 2024-12-06 09:04:12
原创
995 人浏览过

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

Bind_result 与 get_result:综合指南

简介

使用 PHP 在 MySQL 中处理准备好的语句时,开发人员有两种检索查询结果的选项:bind_result() 和 get_result()。本文深入探讨了每种方法的目的、实现以及优缺点。

使用和实现

bind_result()

bind_result() 允许您绑定特定变量到查询结果中的列。这需要显式列出查询中的列。

$query = "SELECT id, first_name, last_name, username FROM `table` WHERE id = ?";
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->store_result();

$stmt->bind_result($id, $first_name, $last_name, $username);
登录后复制

get_result()

get_result() 返回一个表示查询结果的对象,该对象可用于以关联或关联方式获取行枚举数组或对象。

$query = "SELECT * FROM `table` WHERE id = ?";
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $id);
$stmt->execute();
$result = $stmt->get_result();
登录后复制

优点和缺点

bind_result()

  • 优点:

    • 适用于过时的 PHP 版本
    • 单独返回变量
  • 缺点:

    • 所有变量必须手动列出
    • 需要更多代码才能返回行作为数组
    • 表结构时必须更新代码更改

get_result()

  • 优点:

    • 返回关联/枚举数组或对象
    • fetch_all() 方法允许一次检索所有返回的行
  • 缺点:

    • 需要 MySQL 本机驱动程序(mysqlnd)

限制

  • bind_result() 要求显式列出查询返回的所有列。
  • get_result () 仅适用于 MySQL 本机驱动程序(mysqlnd).

结论

bind_result() 和 get_result() 之间的选择取决于应用程序的具体需求。 bind_result() 可以更好地控制各个结果变量,而 get_result() 可以在处理结果行时提供便利和灵活性。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板