Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit PHP effizient und sicher mehrere Werte in MySQL einfügen?

Wie kann ich mit PHP effizient und sicher mehrere Werte in MySQL einfügen?

Patricia Arquette
Freigeben: 2024-12-20 00:28:10
Original
749 Leute haben es durchsucht

How Can I Efficiently and Securely Insert Multiple Values into MySQL Using PHP?

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();
}
Nach dem Login kopieren

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");
Nach dem Login kopieren

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:

  • Ohne Transaktion: 226 Sekunden
  • Mit Transaktion: 2 Sekunden

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage