在 mysqli 中使用准备好的语句时,您有两种获取结果的选项:bind_result() 和 get_result()。了解这些方法之间的差异对于优化数据库操作至关重要。
bind_result() 将特定变量绑定到查询结果中的列,允许您将它们直接分配给标量变量。当您需要查询中的特定列时,通常会使用它。
示例:
$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);
优点:
缺点:
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();
优点:
缺点:
两种方法都有局限性:
最佳方法取决于您的具体要求:
以上是`mysqli` 准备语句:`bind_result()` 还是 `get_result()`?的详细内容。更多信息请关注PHP中文网其他相关文章!