mysqli::more_results()函数用于检查是否还有更多的结果集可用。
使用方法如下:
bool mysqli::more_results ( void )
参数说明:
- 无参数
返回值:
- 如果还有更多的结果集可用,则返回 TRUE
- 如果没有更多的结果集可用,则返回 FALSE
示例代码如下:
<?php
// 创建数据库连接
$mysqli = new mysqli("localhost", "username", "password", "database");
// 执行多个查询语句
$mysqli->multi_query("
SELECT * FROM table1;
SELECT * FROM table2;
SELECT * FROM table3;
");
// 检查是否还有更多的结果集可用
if ($mysqli->more_results()) {
// 循环遍历每个结果集
do {
// 获取当前结果集
if ($result = $mysqli->store_result()) {
// 处理结果集
while ($row = $result->fetch_assoc()) {
// 输出数据
echo $row['column1'] . ' ' . $row['column2'] . '<br>';
}
// 释放结果集
$result->free();
}
// 检查是否还有更多的结果集可用
} while ($mysqli->more_results() && $mysqli->next_result());
}
// 关闭数据库连接
$mysqli->close();
?>
在上面的示例中,我们首先创建了一个数据库连接。然后使用multi_query()方法执行了多个查询语句。接下来,使用more_results()方法检查是否还有更多的结果集可用。如果有,则使用store_result()方法获取当前结果集,并使用fetch_assoc()方法遍历结果集中的数据。最后,使用free()方法释放结果集。在循环结束后,使用next_result()方法移动到下一个结果集,并再次检查是否还有更多的结果集可用。最后,关闭数据库连接。
请注意,mysqli::more_results()函数在PHP版本5.3.0及以上可用。