Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
560
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kalito Kalito ist offline Mitglied Brokat
    Registriert seit
    Aug 2010
    Ort
    Leipzig
    Beiträge
    374
    Hallo,

    ich möchte eine CSV - Datei auf eine MYSQL-Datenbank importieren.

    DIE CSV sieht so aus:

    Code :
    1
    2
    3
    
    program_id;program_name;product_id;product_name
    3943;program1;49684;product1                
    3943;program1;66494;product2



    HIerzu mein PHP-CODE:
    PHP-Code:
    <?php
      $server 
    'localhost';
      
    $user 'root';
      
    $passwort '';
      
    $database 'testdb';
      
    $file 'test.csv';


      
    mysql_connect($server$user$passwort) or die ("Keine Verbindung m&ouml;glich");
      
    mysql_select_db($database)   or die ("Die Datenbank existiert nicht");


       
    $sql "LOAD DATA LOCAL INFILE '$file' INTO TABLE datenfeed FIELDS TERMINATED BY '\,' ENCLOSED BY '\"' LINES TERMINATED BY '\n';";
       
    $ergebnis mysql_query($sql);
    ?>
    Wenn ich diese php ausführe kommt keine Fehlermeldung, aber die Tabelle bleibt auch leer, obwohl ich die Tabelle mit Ihren Spalten schon erstellt habe.
    Momentan probiere ich es noch mit phpmyadmin, aber ich möchte es mittels php den upload realisieren und nicht mit der Importfunktion von phpmyadmin.

    Hoffe Ihr habt eine Idee.

    Gruß, Patrick
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    Zitat Zitat von Kalito Beitrag anzeigen
    Wenn ich diese php ausführe kommt keine Fehlermeldung,
    mysql_query() erzeugt von sich aus keine Fehlerausgabe.
    Um einen eventuellen Fehler zu ermitteln, benutze im Anschluss an mysql_query() ->
    echo mysql_error();
     

  3. #3
    Kalito Kalito ist offline Mitglied Brokat
    Registriert seit
    Aug 2010
    Ort
    Leipzig
    Beiträge
    374
    HAb es erstmal soweit hinbekommen

    Danke an Sven Mintel

    Hier der Code
    PHP-Code:
    <?php
     $server 
    'localhost';
     
    $user 'root';
     
    $passwort '';
     
    $database 'testdb';
     
    $file 'C:/xampp/htdocs/test.csv';

     
    $verbindung mysql_connect($server$user$passwort) or die ("Keine Verbindung m&ouml;glich");

           if(
    $verbindung){
              
    mysql_select_db($database)   or die ("Die Datenbank existiert nicht");

              
    $sql =  "LOAD DATA LOCAL INFILE '$file'
                       INTO TABLE datenfeed
                       FIELDS TERMINATED BY ';'
                       ENCLOSED BY ''
                       LINES TERMINATED BY ';' "
    ;

                       echo 
    mysql_error();

              if(
    $sql){
                     
    $ergebnis mysql_query($sql);
                     echo 
    mysql_error();
              }
            }
    ?>
    Nur jetzt hab ich noch folgende Probleme. Wenn ich die 1. Zeile bei der CSV lasse, dann speichert die PHP die csv in einer Zeile in die Datenbank, so das die Werte nicht zu den Spalten passen. Wenn ich die 1. Zeile aber von mir aus lösche, dann stimmen die Werte, aber bei einer Spalte, wo der Wert immer gleich ist, wird der Wert der 1. Zeile angezeigt, die restlichen Werte in der Spalte werden auf Null gesetzt.
     

  4. #4
    webghost webghost ist offline Grünschnabel
    Registriert seit
    Jul 2007
    Beiträge
    2
    wenn ich dich richtig verstehe dürfte folgendes helfen:

    LINES TERMINATED BY '\n'
    IGNORE 1 LINES ()

    oder \r\n bei windows dateien, mit IGNOR X LINES werden die ersten X linien übersprungen
     

  5. #5
    Avatar von just-click
    just-click just-click ist offline Mitglied Gold
    Registriert seit
    Aug 2008
    Ort
    Karlstadt (Bayern)
    Beiträge
    166
    06.09.10 11:29;
    ERLEDIGT
    JA
    Lass die Toten ruhen!
     
    Wer einmal leckt, der weiß wies schmeckt!

Ähnliche Themen

  1. LOAD DATA INFILE Problem
    Von Boof im Forum PHP
    Antworten: 3
    Letzter Beitrag: 18.01.11, 11:51
  2. load data local infile
    Von al-Maghribi im Forum Relationale Datenbanksysteme
    Antworten: 9
    Letzter Beitrag: 09.04.08, 16:17
  3. Load Data Infile & csv upload
    Von südpol im Forum PHP
    Antworten: 1
    Letzter Beitrag: 15.06.07, 13:21
  4. LOAD DATA INFILE (MySQL) klappt nicht
    Von OsunSeyi im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 16.08.06, 18:16
  5. MySQL Load Data Infile
    Von JensG im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 25.11.05, 11:27