Heim >Datenbank >MySQL-Tutorial >Wie füge ich mit einer einzigen PDO-Abfrage mehrere Zeilen in eine MySQL-Datenbank ein?

Wie füge ich mit einer einzigen PDO-Abfrage mehrere Zeilen in eine MySQL-Datenbank ein?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-07 02:59:03674Durchsuche

How to Insert Multiple Rows into a MySQL Database with a Single PDO Query?

PDO MySQL: Einfügen mehrerer Zeilen in eine einzelne Abfrage mit BindValues

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!

Stellungnahme:
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