查詢

mysqli_stmt::fetch()函式—用法及示例

「 從準備好的語句中獲取結果集中的下一行 」


函式名:mysqli_stmt::fetch()

適用版本:PHP 5, PHP 7

用法:該函式用於從準備好的語句中獲取結果集中的下一行。它將返回一個布林值,表示是否成功獲取了下一行。

語法:mysqli_stmt::fetch(int $resulttype = MYSQLI_BOTH) : mixed

引數:

  • $resulttype(可選):指定返回結果的型別。預設值為MYSQLI_BOTH,表示同時返回關聯和索引陣列。可選值有:
    • MYSQLI_ASSOC:僅返回關聯陣列
    • MYSQLI_NUM:僅返回索引陣列
    • MYSQLI_BOTH:同時返回關聯和索引陣列

返回值:如果成功獲取到下一行,則返回一個陣列或NULL。如果沒有更多的行可供獲取,則返回NULL。

示例:

// 假設已經建立了資料庫連線,並且準備好了一個語句物件$stmt

// 執行語句
$stmt->execute();

// 繫結結果集
$stmt->bind_result($column1, $column2);

// 獲取結果集的下一行資料
while ($stmt->fetch()) {
    echo "Column 1: " . $column1 . "<br>";
    echo "Column 2: " . $column2 . "<br>";
}

// 關閉語句
$stmt->close();

在上面的示例中,我們首先執行了準備好的語句物件$stmt的execute()方法來執行語句。然後,使用bind_result()方法繫結結果集中的列到變數$column1和$column2。接下來,透過迴圈呼叫fetch()方法來獲取結果集的每一行資料,然後輸出到螢幕上。

請注意,fetch()方法將結果集的下一行資料儲存在繫結的變數中,並且每次迴圈迭代時,會自動將結果集指標移動到下一行。當沒有更多的行可供獲取時,fetch()方法將返回NULL,迴圈將結束。最後,我們關閉了語句物件$stmt。

以上示例僅用於演示fetch()方法的基本用法,實際應用中可能需要根據具體需求進行適當的調整。

補充糾錯
下一個函式: mysqli_stmt::execute()函式
熱門PHP函式
分享連結