Heim >Datenbank >MySQL-Tutorial >Wie füge ich mit einer einzigen PDO-Abfrage mehrere Zeilen in eine MySQL-Datenbank ein?
Um mehrere Zeilen in eine MySQL-Datenbank in einer Abfrage mithilfe von PHP Data Objects (PDO) einzufügen, sollten Sie Folgendes in Betracht ziehen die folgenden Schritte:
1. Bereiten Sie die Abfrage vor:
Erstellen Sie eine anpassbare Abfragezeichenfolge mit Platzhaltern für die Werte, die Sie einfügen möchten. Zum Beispiel:
$query = "INSERT INTO $table (key1, key2, key3) VALUES (?, ?, ?)";
2. Werte an Platzhalter binden:
Verwenden Sie die Methode bindValue() der vorbereiteten Anweisung, um die Werte aus Ihrem Datenarray an die Platzhalter in der Abfrage zu binden.
$i = 1; foreach ($data as $item) { $stmt->bindValue($i++, $item['key1']); $stmt->bindValue($i++, $item['key2']); $stmt->bindValue($i++, $item['key3']); }
3. Führen Sie die Abfrage aus:
Führen Sie abschließend die vorbereitete Anweisung aus, die alle gebundenen Werte in die Datenbank einfügt.
$stmt->execute();
Beispiel:
Hier ist eine Beispiel für die Implementierung dieser Technik in Ihrem Code:
$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password'); $query = "INSERT INTO table_name (column1, column2) VALUES (?, ?), (?, ?), (?, ?)"; $data = [ ['value1', 'value2'], ['value3', 'value4'], ['value5', 'value6'], ]; $stmt = $pdo->prepare($query); $i = 1; foreach ($data as $item) { $stmt->bindValue($i++, $item[0]); $stmt->bindValue($i++, $item[1]); } $stmt->execute();
Durch die Verwendung dieser Methode können Sie mit einer einzigen Abfrage effizient mehrere Zeilen in eine MySQL-Datenbank einfügen und so die Einschränkungen des Originalcodes vermeiden.
Das obige ist der detaillierte Inhalt vonWie füge ich mit einer einzigen PDO-Abfrage mehrere Zeilen in eine MySQL-Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!