Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mehrere Abfragen mit PDO in PHP ausführen?
PDO-Unterstützung für mehrere Abfragen: PDO_MYSQL und PDO_MYSQLND
Das herkömmliche PDO unterstützt nicht nativ die Ausführung mehrerer Abfragen in einer einzigen Anweisung. Allerdings wurden PDO_MYSQL und PDO_MYSQLND entwickelt, um diese Einschränkung zu beheben.
PDO_MYSQL und PDO_MYSQLND
PDO_MYSQL gilt jetzt als veraltet. Tatsächlich verwendet MySQL PDO seit PHP 5.3 standardmäßig den PDO_MYSQLND-Treiber.
Mehrere Abfragen mit PDO ausführen
Um mehrere Abfragen mit PDO auszuführen, benötigen Sie Folgendes:
Mit exec
Für SQL-Abfragen mit konstanten Werten kann die Methode exec() dies tun verwendet werden:
$db->exec(" DELETE FROM car; INSERT INTO car(name, type) VALUES ('car1', 'coupe'); INSERT INTO car(name, type) VALUES ('car2', 'coupe'); ");
Vorbereitete Anweisungen verwenden
Für Abfragen mit Daten aus PHP-Variablen sind vorbereitete Anweisungen erforderlich:
$stmt = $db->prepare(" DELETE FROM car; INSERT INTO car(name, type) VALUES (:car1, :type1); INSERT INTO car(name, type) VALUES (:car2, :type2); "); $stmt->execute([ "car1" => "brand1", "type1" => "coupe", "car2" => "brand2", "type2" => "coupe" ]); while ($stmt->nextRowset()) { echo $db->lastInsertId(); }
Hinweis dass es in beiden Fällen wichtig ist, PDO::ATTR_EMULATE_PREPARES auf 1 zu setzen, wenn mehrere verwendet werden Abfragen.
Hinweis zur Codierung
Stellen Sie bei der Verwendung emulierter vorbereiteter Anweisungen sicher, dass Sie die richtige Codierung im DSN angeben, um potenzielle SQL-Injection-Schwachstellen zu verhindern.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Abfragen mit PDO in PHP ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!