首頁  >  文章  >  後端開發  >  如何從 PHP/MySQLi 中的預存程序檢索多個結果集?

如何從 PHP/MySQLi 中的預存程序檢索多個結果集?

Susan Sarandon
Susan Sarandon原創
2024-10-31 18:05:301016瀏覽

How to retrieve multiple result sets from stored procedures in PHP/MySQLi?

在PHP/MySQLi 中使用預存程序檢索多個結果集

處理傳回多個結果集的預存程序時,前進到後續結果在MySQLi 中可能是一個挑戰。

問題:

您有一個包含多個結果的預存程序,並且想要使用 PHP/MySQLi 檢索第二個結果集。然而,使用 mysqli_next_result() 似乎並不能有效地運作。

解決方案:

要成功從預存程序擷取多個結果:

  1. 準備並執行預存程序:

    <code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)');
    mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2);
    mysqli_stmt_execute($stmt);</code>
  2. 取得第一個結果集:

    <code class="php">$result1 = mysqli_stmt_get_result($stmt);
    while ($row = $result1->fetch_assoc()) {
     // Process first result set
    }</code>
  3. 前進到下一個結果集:

    <code class="php">mysqli_stmt_next_result($stmt);</code>
  4. 取得第二個結果集:

    <code class="php">$result2 = mysqli_stmt_get_result($stmt);
    while ($row = $result2->fetch_assoc()) {
     // Process second result set
    }</code>
  5. 關閉語句:

    <code class="php">mysqli_stmt_close($stmt);</code>

附加說明:

    確保在進入下一個結果集之前閱讀第一個結果集。
  • 在 MySQLi 中使用物件導向的風格可以提供更具吸引力的語法。
依照下列步驟,您可以成功使用 PHP/MySQLi 從預存程序中擷取多個結果集。

以上是如何從 PHP/MySQLi 中的預存程序檢索多個結果集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn