CSV-Datei in MySQL-Tabelle einfügen

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

CSV-Datei in MySQL-Tabelle einfügen

Postby Peter R. » 21. February 2008 23:09

Hallo Leute!
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.
Peter R.
 
Posts: 27
Joined: 20. March 2006 21:09

Postby Wiedmann » 22. February 2008 00:01

und versuche seit längerem diese CSV-Datei in eine MySQL-Tabelle zu importieren.

Eine vorhandene CSV-Datei könnte man mit PHP z.B. über das SQL-Statement "LOAD DATA LOCAL INFILE" auch direkt in den MySQL Server importieren.
http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Habe eine Excel-Tabelle

Man könnte natürlich auch Excel über ODBC direkt mit MySQL verbinden.

Ansonsten:
Allerdings gibt die letzte Zeile immer eine Fehlermeldung aus.

Die da wäre?

Man sagte mir,

Wer ist "man"?


(BTW: PHP-Code schliesst man hier im Forum am besten in Code-Tags ein. Siehe die Buttons beim verfassen eines Postes.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 15 guests