查询

mysqli_stmt::more_results()函数—用法及示例

「 检查是否还有更多的结果集可用于查询 」


函数名:mysqli_stmt::more_results()

适用版本:PHP 5 >= 5.3.0, PHP 7

用法:mysqli_stmt::more_results() 函数用于检查是否还有更多的结果集可用于查询。

语法:bool mysqli_stmt::more_results ( void )

参数:该函数没有参数。

返回值:如果还有更多的结果集可用,则返回 true,否则返回 false。

示例:

<?php
// 创建数据库连接
$mysqli = new mysqli("localhost", "username", "password", "database");

// 检查连接是否成功
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
    exit();
}

// 准备查询语句
$query = "SELECT * FROM table1; SELECT * FROM table2;";

// 执行多结果集查询
if ($mysqli->multi_query($query)) {
    do {
        // 获取当前结果集
        if ($result = $mysqli->store_result()) {
            // 处理当前结果集

            // 检查是否还有更多的结果集可用
            if ($mysqli->more_results()) {
                // 移动到下一个结果集
                $mysqli->next_result();
            } else {
                // 没有更多结果集,退出循环
                break;
            }
        }
    } while ($mysqli->more_results());
}

// 关闭数据库连接
$mysqli->close();
?>

在上面的示例中,我们首先创建了一个 mysqli 对象并连接到数据库。然后,我们准备了一个包含多个查询语句的字符串。接下来,我们使用 multi_query() 函数执行多结果集查询。在循环中,我们使用 store_result() 函数获取当前结果集,并在处理完当前结果集后,使用 more_results() 函数检查是否还有更多的结果集可用。如果有,我们使用 next_result() 函数移动到下一个结果集。当没有更多结果集时,我们退出循环。最后,我们关闭了数据库连接。

请注意,使用 more_results() 函数之前,必须先调用 store_result() 函数获取当前结果集。此外,该函数只在多结果集查询中才有意义。

补充纠错
热门PHP函数
分享链接