Heim >Backend-Entwicklung >PHP-Tutorial >Können mit PDO vorbereitete Anweisungen effizient mehrere Zeilen in eine einzelne Abfrage einfügen?
Einfügen mehrerer Zeilen mit vorbereiteten PDO-Anweisungen
Um die Sicherheit mit PDO zu erhöhen, suchen Entwickler nach Methoden, um mit vorbereiteten Anweisungen mehrere Zeilen in eine einzelne Abfrage einzufügen Aussagen. In diesem Artikel wird die Machbarkeit und Implementierung einer solchen Lösung untersucht.
Das Einfügen mehrerer Zeilen in eine Abfrage ist schneller als normale Einfügungen. Vorbereitete Anweisungen verwenden konstante Teile, die explizit im Code geschrieben sind, was 100 % Sicherheit bietet.
Um dies zu implementieren, erstellen Sie einen VALUES-Teil mit einer Folge von Platzhaltern für eine einzelne Zeile. Bestimmen Sie die Anzahl der Felder und Zeilen, um diese Sequenz entsprechend zu wiederholen.
// VALUES part for a single row $values = str_repeat('?,', count($data[0]) - 1) . '?'; // Construct the entire query $sql = "INSERT INTO table (columnA, columnB) VALUES " . // Repeat the VALUES part for each row str_repeat("($values),", count($data) - 1) . "($values)"; $stmt = $db->prepare($sql); // Execute with all values from $data $stmt->execute(array_merge(...$data));
Dieser Ansatz ist sicher, da die Abfrage konstante Teile enthält. Es ist sowohl mit MySQLi als auch mit PDO in allen unterstützten PHP-Versionen kompatibel.
Das obige ist der detaillierte Inhalt vonKönnen mit PDO vorbereitete Anweisungen effizient mehrere Zeilen in eine einzelne Abfrage einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!