PHP - CSV-Datei in eine DB-Tabelle einlesen

Die CSV-Datei hat im akt. Beispiel 4 Spalten und wird durch Strichpunkte getrennt.

Daten 1;Daten 2;Daten 3;Daten 4
Daten 1;Daten 2;Daten 3;Daten 4
Daten 1;Daten 2;Daten 3;Daten 4
...

Die Anzahl der Spalten müssen im folgendem Script angepasst werden, sowie die Verbindung zur Datenbank. Und Achten Sie auf eine einheitliche Zeichenkodierung (utf-8) zwischen der CSV-Datei und der DB-Tabelle.

➤ Voraussetzung ist eine bereits angelegte DB-Tabelle. Bei jedem Aufruf des Scriptes werden die Daten eingetragen, dieses dient hier also nur als Beispiel!


<?php

// CSV-Datei in eine DB-Tabelle einlesen

// CSV-Datei einlesen
$csvInhalt file("test.csv"FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);

$daten = [];
$trennzeichen ";";

foreach (
$csvInhalt as $inhalt) {

 
// Die Anzahl der Spalten anpassen
 
list($spalte1$spalte2$spalte3$spalte4) = explode($trennzeichen$inhalt);

 
// Daten hinzufügen (Anzahl der Spalten anpassen)
 
$daten[] = "('" $spalte1 "','" $spalte2 "','" $spalte3 "','" $spalte4 "')" chr(13);
}

// Verbindung zur Datenbank aufbauen
$db = new PDO('mysql:host=localhost;dbname=test;charset=utf8''root''');

// SQL-String zusammensetzen
// Die Anzahl der Spalten und Namen anpassen
$sql "INSERT INTO `tabelle` (`spalte1`, `spalte2`, `spalte3`, `spalte4`) VALUES" implode(","$daten) . ";";

// In die DB-Tabelle eintragen
if ($db->exec($sql)) {
 echo 
'<p>Die Daten wurden eingetragen.</p>';
}
else {
 
print_r($db->errorInfo());
}

echo 
'<pre>' $sql '</pre>';
?>

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<table> Tabelle

CSS - Container horizontal drehen

PHP - foreach und list effizient einsetzen

JavaScript - Ausgabe des aktuellen Datums mit Monats- und Tagesnamen

MySQL - Zeichenkette ersetzen mit REPLACE

Weg in 60 Sekunden!
Die erste Minute beim Besuch Ihrer Homepage ist die wichtigste. Es wird entschieden, ob der Besucher auf der Seite bleibt oder weiter surft. Zeigen Sie Ihrem Besucher, dass er genau Ihre Homepage braucht, um an seine Informationen zu kommen.
Fassen Sie Ihre Inhalte recht kurz (2 bis 3 Sätze), denn jeder Besucher möchte schnellstmöglich wissen, was Ihn erwartet.