Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich mehrere Ergebnismengen aus gespeicherten Prozeduren in PHP/MySQLi ab?

Wie rufe ich mehrere Ergebnismengen aus gespeicherten Prozeduren in PHP/MySQLi ab?

Susan Sarandon
Susan SarandonOriginal
2024-10-31 18:05:30969Durchsuche

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

Abrufen mehrerer Ergebnismengen mit gespeicherten Prozeduren in PHP/MySQLi

Beim Umgang mit gespeicherten Prozeduren, die mehrere Ergebnismengen zurückgeben, fahren Sie mit dem nächsten fort Ergebnisse können in MySQLi eine Herausforderung sein.

Das Problem:

Sie haben eine gespeicherte Prozedur mit mehreren Ergebnissen und möchten den zweiten Ergebnissatz mit PHP/MySQLi abrufen . Die Verwendung von mysqli_next_result() scheint jedoch nicht effektiv zu funktionieren.

Die Lösung:

So rufen Sie erfolgreich mehrere Ergebnisse aus einer gespeicherten Prozedur ab:

  1. Bereiten Sie die gespeicherte Prozedur vor und führen Sie sie aus:

    <code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)');
    mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2);
    mysqli_stmt_execute($stmt);</code>
  2. Ersten Ergebnissatz abrufen:

    <code class="php">$result1 = mysqli_stmt_get_result($stmt);
    while ($row = $result1->fetch_assoc()) {
     // Process first result set
    }</code>
  3. Weiter zum nächsten Ergebnissatz:

    <code class="php">mysqli_stmt_next_result($stmt);</code>
  4. Zweiten Ergebnissatz abrufen:

    <code class="php">$result2 = mysqli_stmt_get_result($stmt);
    while ($row = $result2->fetch_assoc()) {
     // Process second result set
    }</code>
  5. Anweisung schließen:

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

Zusätzliche Hinweise:

  • Stellen Sie sicher, dass Sie den ersten Ergebnissatz lesen, bevor Sie mit dem nächsten fortfahren.
  • Die Verwendung des objektorientierten Stils in MySQLi kann eine ansprechendere Syntax bieten.

Indem Sie diese Schritte befolgen, können Sie mit PHP/MySQLi erfolgreich mehrere Ergebnismengen aus gespeicherten Prozeduren abrufen.

Das obige ist der detaillierte Inhalt vonWie rufe ich mehrere Ergebnismengen aus gespeicherten Prozeduren in PHP/MySQLi ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn