


Wie fügt man mehrere Zeilen mit MySQLi-vorbereiteten Anweisungen effizient ein?
Einfügen mehrerer Zeilen mit MySQLi-vorbereiteten Anweisungen
Problem:
Sie möchten effizient einfügen mehrere Zeilen in eine Datenbank mithilfe von MySQLi-vorbereiteten Anweisungen. Ihr aktueller Ansatz besteht darin, für jede einzufügende Zeile eine separate Zeichenfolge zu erstellen, was ineffizient ist. Sie suchen nach einer Methode zum Ausführen einer einzelnen vorbereiteten Anweisung, die mehrere Zeilen in einer Ausführung einfügt.
Lösung:
Während vorbereitete Anweisungen normalerweise für einzeilige Operationen verwendet werden, Es gibt eine komplizierte Technik, die das Einfügen mehrerer Zeilen in eine Anweisung ermöglicht. Getestet an einem beispielhaften indizierten Array aus indizierten Arrays ([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), demonstriert der folgende Code den Prozess:
<code class="php">$rows = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; // Sample indexed array of indexed arrays $rowCount = count($rows); $values = "(" . implode('),(', array_fill(0, $rowCount, '?,?,?')) . ")"; $conn = new mysqli("localhost", "root", "", "myDB"); $stmt = $conn->prepare("INSERT INTO test (col1, col2, col3) VALUES $values"); $stmt->bind_param(str_repeat('i', $rowCount * 3), ...array_merge(...$rows)); $stmt->execute();</code>
Dieser Ansatz erstellt eine einzelne vorbereitete Anweisung („INSERT INTO test (col1, col2, col3) VALUES (...)“) und füllt die Platzhalterwerte aus dem abgeflachten $rows-Array ein. Die Funktion str_repeat wird verwendet, um eine geeignete Anzahl von Platzhalterzeichen für Bindungsparameter zu definieren.
Alternativer Ansatz:
Wenn das Einfügen mehrerer Zeilen die Ausführung einer Schleife erfordert, sollten Sie die Verwendung von a in Betracht ziehen Ansatz für einzeilige vorbereitete Anweisung:
<code class="php">foreach ($rows as $row) { $stmt = $conn->prepare("INSERT INTO test (col1, col2, col3) VALUES (?,?,?)"); $stmt->bind_param('iii', $row[0], $row[1], $row[2]); $stmt->execute(); }</code>
Zusätzliche Ressourcen:
- [SELECT mit dynamischer Anzahl von Werten in IN()](https:/ /stackoverflow.com/questions/2216867/select-with-dynamic-number-of-values-in-in)
- [SELECT mit dynamischer Anzahl von LIKE-Bedingungen](https://stackoverflow.com/questions /6022078/select-with-dynamic-number-of-like-conditions)
Das obige ist der detaillierte Inhalt vonWie fügt man mehrere Zeilen mit MySQLi-vorbereiteten Anweisungen effizient ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey
