Mehrere Ergebnismengen aus einer gespeicherten Prozedur mit MySQLi abrufen
Ihre gespeicherte Prozedur „multiples“ generiert mehrere Ergebnismengen. Um zu nachfolgenden Ergebnismengen zu gelangen und Daten daraus abzurufen, befolgen Sie diese Schritte mit der MySQLi-Erweiterung:
PHP-Prozedurstil:
<code class="php">// Prepare the statement $stmt = mysqli_prepare($db, 'CALL multiples(?, ?)'); // Bind parameters mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2); // Execute the statement mysqli_stmt_execute($stmt); // Fetch the first result set $result1 = mysqli_stmt_get_result($stmt); while ($row1 = $result1->fetch_assoc()) { echo "Result 1: " . $row1['id'] . "\n"; } // Advance to the second result set mysqli_stmt_next_result($stmt); $result2 = mysqli_stmt_get_result($stmt); // Fetch and print the second result set while ($row2 = $result2->fetch_assoc()) { echo "Result 2: " . $row2['id'] . "\n"; } // Close the statement mysqli_stmt_close($stmt);</code>
PHP-Objekt- Orientierter Stil:
<code class="php">// Create a prepared statement object $stmt = $db->prepare('CALL multiples(?, ?)'); // Bind parameters $stmt->bind_param('ii', $param1, $param2); // Execute the statement $stmt->execute(); // Fetch the first result set $result1 = $stmt->get_result(); while ($row1 = $result1->fetch_assoc()) { echo "Result 1: " . $row1['id'] . "\n"; } // Advance to the second result set $stmt->next_result(); // Store and print results from the second result set $result2 = $stmt->get_result(); while ($row2 = $result2->fetch_assoc()) { echo "Result 2: " . $row2['id'] . "\n"; } // Close the statement $stmt->close();</code>
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie rufe ich mit MySQLi in PHP mehrere Ergebnismengen aus einer gespeicherten Prozedur ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!