Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit PHP effizient und sicher mehrere Werte in MySQL einfügen?
Effizientes und sicheres Einfügen mehrerer Werte mit PHP und MySQLi
Um zahlreiche Werte sicher einzufügen und SQL-Injection und Stapelüberläufe zu vermeiden, beachten Sie Folgendes Techniken.
Ansatz 1: Erweiterte Schleife mit Vorbereitet Anweisung
Behalten Sie Ihren aktuellen Ansatz bei, nehmen Sie jedoch einige Änderungen aus Effizienzgründen vor:
$stmt = $mysqli->prepare("INSERT INTO table (link) VALUES (?)"); $stmt->bind_param("s", $one); foreach ($array as $one) { $stmt->execute(); }
Dieser Ansatz initialisiert die vorbereitete Anweisung außerhalb der Schleife und verbessert so die Leistung.
Ansatz 2: Transaktionsbasierter Ansatz
Zur weiteren Optimierung nutzen Sie Transaktionen:
$stmt = $mysqli->prepare("INSERT INTO table (link) VALUES (?)"); $stmt->bind_param("s", $one); $mysqli->query("START TRANSACTION"); foreach ($array as $one) { $stmt->execute(); } $mysqli->query("COMMIT");
Durch das Einschließen der Einfügungen in eine Transaktion wird das Puffersystem von MySQL genutzt, was zu erheblichen Geschwindigkeitsverbesserungen führt.
Tests und Ergebnisse
In einem Leistungstest mit 10.000 Iterationen erwies sich der transaktionsbasierte Ansatz als wesentlich schneller:
Daher wird die Verwendung des transaktionsbasierten Ansatzes für große Mengen empfohlen Einfügevorgänge.
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP effizient und sicher mehrere Werte in MySQL einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!