在 PHP 中,有两种不同的方法从 MySQL 数据库检索查询结果:bind_result() 和 get_result() 。了解这些方法之间的差异可以优化您的代码性能和结果处理。
bind_result() 显式列出要在查询中绑定的列,从而为每个列生成单独的变量列。
使用示例bind_result():
<?php $query = 'SELECT id, first_name, last_name 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); while ($stmt->fetch()) { //... } ?>
优点:
缺点:
get_result() 自动返回表示检索到的行的关联或枚举数组或对象。
示例使用get_result():
<?php $query = 'SELECT * FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query); $stmt->bind_param('i',$id); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { //... } ?>
优点:
缺点:
Feature | bind_result() | get_result() |
---|---|---|
Result Handling | Separate variables | Associative/enumerated array or object |
MySQL Driver | Older versions supported | Requires mysqlnd |
Code Maintenance | Manual updates required | Automatic result filling |
Result Fetching | Individual rows | All rows at once |
bind_result() 和 get_result() 都有其优点和局限性。对于较旧的 PHP 版本或首选单独的变量时,bind_result() 可能比较合适。但是,当结果处理简单性和一次获取多行的能力很重要时,建议选择 get_result()。
以上是`bind_result()` 与 `get_result()`:您应该选择哪种 PHP MySQL 结果绑定策略?的详细内容。更多信息请关注PHP中文网其他相关文章!