mysqli::more_results
(mysqli_more_results)检查多查询是否还有查询结果
PHP 5 >= 5.0.0, PHP 7, PHP 8
mysqli::more_results() 函数用于检测是否还有更多的结果集可供处理。通常在执行多语句查询(multi query)时使用,用来判断是否还有未处理的结果。
public bool mysqli::more_results ( void )
如果还有更多结果集,返回 TRUE;否则返回 FALSE。
$conn = new mysqli("localhost", "username", "password", "database"); <p>if ($conn->multi_query("SELECT * FROM users; SELECT * FROM orders")) {<br> do {<br> if ($result = $conn->store_result()) {<br> while ($row = $result->fetch_assoc()) {<br> print_r($row);<br> }<br> $result->free();<br> }<br> if ($conn->more_results()) {<br> echo "还有更多结果集,继续处理。\n";<br> }<br> } while ($conn->more_results() && $conn->next_result());<br> } else {<br> echo "多语句执行失败: " . $conn->error;<br> }<br>
该示例演示了如何使用 mysqli::more_results() 来检测是否还有未处理的结果集。当执行多语句查询后,通过循环处理每一个结果集,使用 more_results() 判断是否继续。配合 next_result() 一起使用,可以遍历所有结果集。