查詢

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函式
分享連結