
在PHP/MySQLi 中透過預存程序使用多個結果集
一個預存程序可以包含多個結果集,讓您可以擷取不同的數據一次執行即可設定。然而,在 PHP 中使用 mysqli 存取後續結果集可能具有挑戰性。此問題深入研究了嘗試使用 mysqli 從預存程序檢索第二個結果集時遇到的特定問題。
建議的解決方案涉及以下步驟:
-
準備並執行預存程序:
準備一條語句並將輸入參數綁定到它。然後,執行儲存程序。
1 2 3 | <code class = "php" > $stmt = mysqli_prepare( $db , 'CALL multiples(?, ?)' );
mysqli_stmt_bind_param( $stmt , 'ii' , $param1 , $param2 );
mysqli_stmt_execute( $stmt );</code>
|
登入後複製
-
檢索第一個結果集(可選):
在移動到第二個結果集之前,您可以選擇使用mysqli_stmt_get_result () 檢索第一個結果集。如果您只對後續結果感興趣,則此步驟是可選的。
-
移至下一個結果集:
使用 mysqli_stmt_next_result() 前進至下一個結果集。
-
檢索第二個結果集:
使用 mysqli_stmt_get_result() 取得第二個結果集。
1 2 3 4 5 6 7 8 9 10 | <code class = "php" >
mysqli_stmt_next_result( $stmt );
$result2 = mysqli_stmt_get_result( $stmt );
while ( $row = $result2 ->fetch_assoc()) {
printf( "%d\n" , $row [ 'id' ]);
}</code>
|
登入後複製
-
關閉語句:
檢索所有結果集後,關閉語句。
此方法可讓您使用 mysqli 有效率地導覽和存取 PHP 中預存程序傳回的多個結果集。
以上是如何從 PHP/MySQLi 中的預存程序存取多個結果集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!