Einfügen mehrerer Zeilen mit PDO-vorbereiteten Anweisungen
Das Einfügen mehrerer Zeilen in eine Datenbank mithilfe einer einzigen vorbereiteten Anweisung ist nicht nur möglich, sondern wird auch empfohlen seine Effizienz und Sicherheit.
Ansatz mit einer einzelnen INSERT-Abfrage
Die erste Methode beinhaltet die Verwendung einer einzelnen INSERT-Abfrage mit mehreren Werten:
INSERT INTO Table (col1, col2, col3) VALUES ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi') -- and so on...
Um diese Abfrage mit PDO auszuführen, können Sie diese Schritte ausführen:
$query = "INSERT INTO Table (col1, col2, col3) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?) "; $params = array('abc', 'def', 'ghi', 'abc', 'def', 'ghi', 'abc', 'def', 'ghi'); $stmt = DB::getInstance()->prepare($query); $stmt->execute($params);
Ansatz mit einzelnen Einfügeabfragen
Wenn die Anzahl der einzufügenden Zeilen zu groß ist, müssen Sie dies möglicherweise tun einzelne Einfügeabfragen ausführen:
$query = "INSERT INTO Table (col1, col2, col3) VALUES (".implode(',', $args).")"; $stmt = $pdo->prepare($query); foreach ($rows as $row) { $stmt->execute($row); }
Dieser Ansatz stellt sicher, dass jede Zeile separat eingefügt wird, wodurch das Risiko von Problemen beim Einfügen minimiert wird.
Fazit
Ob Sie eine einzelne Einfügung verwenden B. Abfragen mit mehreren Werten oder einzelne Einfügeabfragen, PDO-vorbereitete Anweisungen bieten effiziente und sichere Methoden zum Einfügen mehrerer Zeilen in eine Datenbank. Die Wahl des richtigen Ansatzes hängt von den spezifischen Anforderungen der Anwendung und Datenbank ab.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3