Wie rufe ich mit PHP/mysqli und PDO mehrere Ergebnismengen aus gespeicherten Prozeduren in MySQL ab?

DDD
Freigeben: 2024-10-30 19:30:02
Original
732 Leute haben es durchsucht

How to Retrieve Multiple Result Sets from Stored Procedures in MySQL with PHP/mysqli and PDO?

Verarbeitung mehrerer Ergebnismengen aus gespeicherten Prozeduren in MySQL mit PHP/mysqli

Das Abrufen mehrerer Ergebnismengen aus gespeicherten Prozeduren in PHP/mysqli kann sein wird durch den Einsatz der Funktion mysqli_stmt_next_result() erreicht. Das folgende Beispiel zeigt, wie diese Funktion verwendet wird, um zum zweiten Ergebnissatz zu gelangen:

<code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)');
mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2);
mysqli_stmt_execute($stmt);

// Fetch and process the first result set
$result1 = mysqli_stmt_get_result($stmt);
while ($row1 = mysqli_fetch_assoc($result1)) {
    // Process row1
}

// Advance to the second result set
mysqli_stmt_next_result($stmt);
if (mysqli_stmt_error($stmt)) {
    die('Failed to advance to the second result set: ' . mysqli_stmt_error($stmt));
}

// Fetch and process the second result set
$result2 = mysqli_stmt_get_result($stmt);
while ($row2 = mysqli_fetch_assoc($result2)) {
    // Process row2
}</code>
Nach dem Login kopieren

PDO-Lösung

Bei Verwendung von PDO würde der Code wie folgt aussehen:

<code class="php">$stmt = $db->prepare('CALL multiples(:param1, :param2)');
$stmt->execute([':param1' => $param1, ':param2' => $param2]);

// Fetch and process the first result set
while ($row1 = $stmt->fetch()) {
    // Process row1
}

// Advance to the second result set
$stmt->nextRowset();

// Fetch and process the second result set
while ($row2 = $stmt->fetch()) {
    // Process row2
}</code>
Nach dem Login kopieren

Hinweis:

Es ist wichtig zu bedenken, dass nicht alle Datenbankserver mehrere Ergebnismengen aus gespeicherten Prozeduren unterstützen. Informationen zur Kompatibilität finden Sie immer in der Dokumentation Ihres Datenbankservers.

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!