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.

<adress> Adresse

CSS - Nahtlose unendliche Hintergrundbild-Scroll-Animation

PHP - Ganzzahl (Integer) überprüfen

JavaScript - Zweite Checkbox mit JavaScript auswählen

MySQL - Suchen und Ersetzen in einer Tabellenspalte

Schlechte Grafiken
Bevor Sie eine schlechte Grafik verwenden, verzichten Sie lieber darauf. Schlechte Grafiken sind zum Beispiel solche mit einer anderen Hintergrundfarbe als die der Homepage. Auch den Aliasing-Effekt, bei dem die Grafik einen hässlichen Treppenstufen-Effekt hat, sollten Sie vermeiden. Verwenden Sie dazu die Anti-Aliasing, beziehungsweise Glätten-Funktion Ihres Grafikprogrammes. Schlecht sind auch schief gescannte und oder verwaschene Logos und ausgefranste Grafiken.