Habe eine Excel-Tabelle in eine CSV-Datei umgewandelt und versuche seit längerem diese CSV-Datei in eine MySQL-Tabelle zu importieren.
Benutze XAMPP 1.6.5. Mittels phpMyAdmin konnte ich die Datei über die Funktion „importieren“ problemlos in die Datenbank einfügen.
Geht dieser Import auch zu Fuß über ein php-Skript?
Habe das nachfolgende Skript getestet. Dies führt aber nur dazu, dass die Datei auf dem „Bildschirm“ gezeigt wird. Die Tabelle ist weiterhin leer.
- Code: Select all
<?php
$fp = fopen("Beispiel-Datei-2008.csv","r");
if ($fp)
{
while (!feof($fp))
{
$zeile = fgets($fp, 100);
echo "Zeile: $zeile<p>";
}
fclose($fp);
}
else
echo "Datei wurde nicht gefunden";
?>
Man sagte mir, dass ich entweder die (schwierige) Funktion „Serialize“ nutzen sollte oder folgendes machen sollte:
Den SQL-Befehl in einen String produzieren und dann ausführen:
- Code: Select all
$sql = insert into tabelle
$fmt = ' `feld1` = \'%s\' ....
while $Z = fgetcsv ...
$sql .= sprintf ( $fmt , $Z[0] ...
$sql .= ' ;' ;
Allerdings gibt die letzte Zeile immer eine Fehlermeldung aus. Da das vorgeschlagene Skript(fragment) für mich nicht auf Anhieb verständlich ist, wäre ich für Anregungen dankbar.
Viele Grüße
Peter R.