Verwaltung mehrerer Abfragen in PDO
PDO hat über seinen PDO_MYSQLND-Treiber die Unterstützung für die gleichzeitige Ausführung mehrerer Abfragen eingeführt. Das Abrufen mehrerer Ergebnismengen aus diesen Abfragen stellt jedoch eine Herausforderung dar.
Betrachten Sie das folgende Codebeispiel:
$db->query("SELECT 1; SELECT 2;")->fetchAll(PDO::FETCH_ASSOC);
Die Ausführung dieses Codes gibt nur die Ergebnismenge für die erste SELECT-Abfrage zurück. Um auf die Ergebnisse der zweiten SELECT-Abfrage zuzugreifen, müssen Sie die Methode PDOStatement::nextRowset verwenden.
$stmt = $db->query("SELECT 1; SELECT 2;"); $stmt->nextRowset(); var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
Mit PDOStatement::nextRowset können Sie mehrere Ergebnismengen durchlaufen und so diese separat verarbeiten.
Diese Implementierung mag ungewöhnlich erscheinen, bietet aber Flexibilität, indem sie die Anwendung verschiedener FETCH-Stile auf einzelne Abfragen ermöglicht. Es wäre jedoch einfacher, wenn alle Ergebnismengen unter einem Array zurückgegeben würden.
Das obige ist der detaillierte Inhalt vonWie rufe ich mehrere Ergebnissätze aus gleichzeitigen PDO-Abfragen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!