mysqli::use_result
(mysqli_use_result)启动结果集检索
mysqli::use_result
PHP 5, PHP 7, PHP 8
mysqli::use_result 是用于从上一次执行的查询中获取结果集的方法之一。它适用于仅向前读取数据的情况,适合处理非常大的结果集,以节省内存开销。该函数返回一个 mysqli_result 对象,允许你使用 fetch_row()、fetch_assoc() 等方法来遍历结果集。
与 store_result() 相比,use_result() 不会将所有结果加载到内存中,而是按需从服务器读取每一行数据,因此必须在获取完所有结果行之后才能执行下一条查询。
mysqli::use_result(): mysqli_result|false
成功时返回 mysqli_result 对象,失败时返回 false。
<?php $mysqli = new mysqli("localhost", "username", "password", "database"); <p>if ($mysqli->connect_error) {<br> die("连接失败: " . $mysqli->connect_error);<br> }</p> <p>$query = "SELECT id, name FROM users";<br> $mysqli->query($query, MYSQLI_USE_RESULT);</p> <p>$result = $mysqli->use_result();</p> <p>if ($result) {<br> while ($row = $result->fetch_assoc()) {<br> echo "ID: " . $row["id"] . " - 姓名: " . $row["name"] . "<br>";<br> }<br> $result->free();<br> } else {<br> echo "查询失败";<br> }</p> <p>$mysqli->close();<br> ?><br>
本示例连接到 MySQL 数据库后执行一条 SELECT 查询。由于结果集可能较大,因此使用 MYSQLI_USE_RESULT 选项避免一次性加载全部数据。通过 use_result() 方法按行读取结果并输出。循环结束后释放结果集并关闭数据库连接。