Heim > Datenbank > MySQL-Tutorial > Wie fügt man mit PHP und PDO effizient mehrere Zeilen in eine MySQL-Tabelle ein?

Wie fügt man mit PHP und PDO effizient mehrere Zeilen in eine MySQL-Tabelle ein?

Barbara Streisand
Freigeben: 2024-10-29 11:52:29
Original
216 Leute haben es durchsucht

How to Efficiently Insert Multiple Rows into a MySQL Table Using PHP and PDO?

Arrays in MySQL mit PHP und PDO einfügen

Bei der Initialisierung von Online-Programmen können sich Kunden für mehrere Programme anmelden, die als dreistellige Ganzzahlen und dargestellt werden in einem Array gespeichert. Um sich beispielsweise für die Programme 155, 165, 175 und 185 anzumelden, würde das folgende Array verwendet:

<code class="php">$data = array(155, 165, 175, 185);</code>
Nach dem Login kopieren

Traditionell würde man eine Schleife erstellen, um mehrere INSERT-Anweisungen auszuführen, wie zum Beispiel:

<code class="php">for($j = 0; $j < (count($data)-1); $j++) {
   $stmt = $db->prepare("INSERT INTO table SET memberID=?, programID=?, date_added=NOW()");
   $stmt->execute(array($memberid, $data[$j]));
}</code>
Nach dem Login kopieren

Das Erstellen einer einzelnen dynamischen SQL-Anweisung gilt jedoch als effizienter. Eine mögliche Lösung wäre:

<code class="php">$sql = array();
foreach( $data as $row ) {
    $sql[] = '("'.$memberid.'", "'.$row[$j].'", NOW()")';
}
mysql_real_query('INSERT INTO table (memberid, programid) VALUES '.implode(',', $sql));</code>
Nach dem Login kopieren

Mit PDO ist ein geeigneterer Ansatz:

<code class="php">$sql = 'INSERT INTO table (memberID, programID) VALUES ';
$insertQuery = array();
$insertData = array();
foreach ($data as $row) {
    $insertQuery[] = '(?, ?)';
    $insertData[] = $memberid;
    $insertData[] = $row;
}

if (!empty($insertQuery)) {
    $sql .= implode(', ', $insertQuery);
    $stmt = $db->prepare($sql);
    $stmt->execute($insertData);
}</code>
Nach dem Login kopieren

Diese Technik ermöglicht das Einfügen mehrerer Zeilen in eine Datenbanktabelle mit einer einzigen vorbereiteten Anweisung, wodurch die Anzahl der Daten reduziert wird die Anzahl der Datenbankaufrufe und die Verbesserung der Leistung.

Das obige ist der detaillierte Inhalt vonWie fügt man mit PHP und PDO effizient mehrere Zeilen in eine MySQL-Tabelle ein?. 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