Ankündigung

Einklappen
Keine Ankündigung bisher.

csv import in mysql

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • csv import in mysql

    Hallo ich habe eine php Datei gebaut wo ich meine csv Datei automatsch in meine mysql Datenbank einbindet.
    Leider klapt es mit der zuordnung nicht.

    Also die Feldnamen in der csv datei sind anders als die in der mysql datenbank.
    Gibs da irgendwas das man angeben kann in welche spalte das zugeordet werden kann.

    PHP-Code:
    <?php 

        
    /* Variablen Datenbank */
        
    $host "localhost";
        
    $user "";
        
    $pw "";
        
    $db "";

    /* Verbindung mit mysql Server */
    mysql_connect($host$user$pw) or die ("Verbindung fehlgeschlagen");
    mysql_select_db($db) or die ("Datenbank existiert nicht");


    $load_csv mysql_query " LOAD DATA LOCAL INFILE '123.csv' INTO TABLE ITEM
    FIELDS TERMINATED BY ';' ENCLOSED BY '\"'
    LINES TERMINATED BY '\n' IGNORE 1 LINES  " 
    );


    foreach (
    $input_array as $input_colums){       
    $output_columns = array();                
    $output_columns['PGID'] = $input_colums[8];       
    $output_columns['ITEMID'] = $input_colums[0];        
    $output_columns['DESCR'] = $input_colums[3];        
    $output_columns['PRICE'] = $input_colums[4];        
    $output_columns['IMG'] = $input_colums[2];        
    $output_columns['ERG1'] = $input_colums[5];        
    $output_columns['ERG2'] = $input_colums[6];        
    $output_columns['TEMPL'] = $input_colums[9];        
    $output_columns['DIMG'] = $input_colums[1];        
    $output_columns['ERG3'] = $input_colums[7];             
    $output_array[] = $output_columns;    }    
    $this->db_table_key1 'ITEMID';    


    if (!
    $load_csv) {

    }
    else {
    }  
    ?>
    MFG
    Gunnar

  • #2
    foreach ($input_array as $input_colums){
    $input_array gibts in deinem code nicht

    $this->db_table_key1 = 'ITEMID';
    $this gibts auch nicht

    Kommentar


    • #3
      Zitat von HPR1974 Beitrag anzeigen
      foreach ($input_array as $input_colums){
      $input_array gibts in deinem code nicht

      $this->db_table_key1 = 'ITEMID';
      $this gibts auch nicht
      Wie muss ich die Datei denn ändern das ef funktoniert?
      Das bekomm ich nun immer als fehlermeldung.
      Warning: Invalid argument supplied for foreach() in /***/import2.php on line 19

      Kommentar


      • #4
        was willst Du denn mit der zeile bezwecken:
        foreach ($input_array as $input_colums){

        Kommentar


        • #5
          Zitat von HPR1974 Beitrag anzeigen
          was willst Du denn mit der zeile bezwecken:
          foreach ($input_array as $input_colums){
          Ich versuche irgendwie die CSV Feldnamen in die zuordnung der mysql datenbank zu verknüpfen.

          Weiß aber leider nicht wie.
          ($input_array as $input_colums)
          hab ich irgenwo anders gefunden aber scheit ja nicht zu klappen.

          Kommentar


          • #6
            keiner eine idee???

            Kommentar


            • #7
              Ignoriere die Feldnamen in der CSV-Datei und gib die Attribut-Namen in der entsprechenden Reihenfolge ein. Bsp.
              Code:
              LOAD DATA LOCAL INFILE '123.csv'
              INTO TABLE ITEM
              FIELDS TERMINATED BY ';' ENCLOSED BY '\"'
              LINES TERMINATED BY '\n'
              IGNORE 1 LINES
              (dimg, img, descr, price. ...)

              Kommentar


              • #8
                Zitat von lazydog Beitrag anzeigen
                Ignoriere die Feldnamen in der CSV-Datei und gib die Attribut-Namen in der entsprechenden Reihenfolge ein. Bsp.
                Code:
                LOAD DATA LOCAL INFILE '123.csv'
                INTO TABLE ITEM
                FIELDS TERMINATED BY ';' ENCLOSED BY '\"'
                LINES TERMINATED BY '\n'
                IGNORE 1 LINES
                (dimg, img, descr, price. ...)
                Besten Dank werde ich gleich mal testen

                Kommentar


                • #9
                  Zitat von Gunnar2100 Beitrag anzeigen
                  Besten Dank werde ich gleich mal testen
                  Habe es nun so geändert
                  PHP-Code:
                  14.LOAD DATA LOCAL INFILE '123.csv'
                  15.INTO TABLE ITEM
                  16.FIELDS TERMINATED BY 
                  ';' ENCLOSED BY '\"'
                  17.LINES TERMINATED BY '\n'
                  18.IGNORE 1 LINES
                  19.
                  (ITEMIDDIMGIMGDESCRPRICEERG1ERG2ERG3PGIDTEMPL ); 
                  Nun bekomm ich folgende fehlermeldung
                  Parse error: syntax error, unexpected T_STRING in /****/import/import3.php on line 14

                  Wo ist nun der Fehler???

                  Kommentar


                  • #10
                    Zitat von Gunnar2100 Beitrag anzeigen
                    Nun bekomm ich folgende fehlermeldung
                    Parse error: syntax error, unexpected T_STRING in /****/import/import3.php on line 14
                    Wo ist nun der Fehler???
                    Und wo ist Zeile 14 (bzw. wie sehen die paar Zeilen vorher und nachher aus)?

                    Kommentar


                    • #11
                      Zitat von lazydog Beitrag anzeigen
                      Und wo ist Zeile 14 (bzw. wie sehen die paar Zeilen vorher und nachher aus)?


                      Sorry das hat ich leider vergessen

                      14.LOAD DATA LOCAL INFILE '123.csv'
                      15.INTO TABLE ITEM
                      16.FIELDS TERMINATED BY ';' ENCLOSED BY '\"'
                      17.LINES TERMINATED BY '\n'
                      18.IGNORE 1 LINES
                      19.(ITEMID, DIMG, IMG, DESCR, PRICE, ERG1, ERG2, ERG3, PGID, TEMPL );

                      Kommentar

                      Lädt...
                      X