CSV auslesen, Daten in mysql-db eintragen

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

  • CSV auslesen, Daten in mysql-db eintragen

    Hallo Forum,

    ich lasse eine CSV-Datei auslesen, bearbeite die ausgelesenen Werte und speichere sie in einer Datenbank. Klappt auch soweit, nur bekomme ich eine Fehlermeldung und somit einen Abbruch sobald in der CSV ein ' auftaucht.

    Mein code sieht so aus :
    PHP-Code:
    $handle fopen ("musikarchiv.csv","r") or die("Öffnen fehlgeschlagen");
    while ( (
    $data fgetcsv ($handle1000";")) != FALSE 
    {
    echo 
    $data[0]." - ".$data[1]." - ".$data[2]." - ".$data[3]." - ".$data[4]."<br>";
    $add "INSERT INTO lieder (interpret, album, tracknr, tracktitel, stil)
                  VALUES ('
    $data[1]', '$data[0]', '$data[4]', '$data[3]', '$data[2]')";
    mysql_query($add$link) or die (mysql_error());
    }
    fclose ($handle); 
    Da es bei der CSV um sehr viel Songs geht, will ich nicht unbedingt die komplette CSV nach ' durchsuchen und diese entfernen - das Ganze müsste doch auch irgendwie mit php gehen, aber wie ?

    Wäre super, wenn mir da jemand einen Tipp oder gar eine Lösung nennen könnte
    Zuletzt geändert von Tommy75; 24.10.2005, 23:49.

  • #2
    http://php.net/mysql_real_escape_string
    Nächstes Mal bitte die PHP-Tags des Forums benutzen.

    Kommentar


    • #3
      Vielen Dank für den link Hat prima funktioniert soweit - allerdings muss ich jetzt noch eine Möglichkeit finden, z.B. ein / von der Funktion auszuschliessen (manche songs beinhalten nunmal einen slash, und der sollte auch übernommen werden in die db). Z.B. wird beim Song 08/15 in die db 15.August eingetragen

      Mein jetziger code :

      PHP-Code:
      $handle fopen ("musikarchiv.csv","r") or die("Öffnen fehlgeschlagen");
      while ( (
      $data fgetcsv ($handle1000";")) != FALSE ) {
      echo 
      $data[0]." - ".$data[1]." - ".$data[2]." - ".$data[3]." - ".$data[4]."<br>";

      $album mysql_real_escape_string($data[0]);
      $interpret mysql_real_escape_string($data[1]);
      $stil mysql_real_escape_string($data[2]);
      $tracktitel mysql_real_escape_string($data[3]);
      $tracknr mysql_real_escape_string($data[4]);
      $add "INSERT INTO lieder (interpret, album, tracknr, tracktitel, stil)
              VALUES ('
      $interpret', '$album', '$tracknr', '$tracktitel', '$stil')";

      mysql_query($add$link) or die (mysql_error());
      }
      fclose ($handle); 
      Danke auch für deinen Hinweis bezüglich der PHP-tags

      Kommentar

      Lädt...
      X