Daten in Datenbank importieren

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

  • Daten in Datenbank importieren

    Hallo,

    ich habe ein Script, mit dem ich in die Datenbank aus einer CSV-Datei Daten importieren möchte. Er wirft mir allerdings immer einen PARSE-Error aus. Ich habe die Zeile mit dem SQL-String, in der der PARSE-Error gemeldet wird mehrfach umgebaut, aber ich finde den Fehler nicht.

    Hier mal der Quelltext zum Einlesen der Daten:
    PHP-Code:
    include('./includes/connect.inc.php');

    mysql_query("TRUNCATE `customer`;");

    $fcontents file ('./import/kunden.csv');

    for(
    $i=0$i<sizeof($fcontents); $i++) {
    $line trim($fcontents[$i]);
    $arr explode(","$line);
           
    //In dieser Zeile tritt der PARSE-ERROR auf!!!
    $sql "insert into customer VALUES ('".implode("','"$arr)."');";
           
    mysql_query($sql);
    echo 
    $sql ."<br>\n";
    if(
    mysql_error()) {
    echo 
    mysql_error() ."<br>\n";
    }

    Sieht jemand meinen Fehler?

    Danke für eure Hilfe, Chriss

  • #2
    Re: Daten in Datenbank importieren

    Sieht jemand meinen Fehler?
    ja, ich.

    mach doch mal testausgaben ....
    ich würde sagen, in der cvs steht nen ' oder nen " oder sowas ...
    das sprengt dir immer der schtring. addslashes, etc.

    EDIT:
    entferne das semikolon in der quäry?
    Zuletzt geändert von derHund; 15.05.2004, 10:42.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      in einem query-string darf am schluss kein anführungszeichen sein..


      mfg.- harry d.

      Kommentar


      • #4
        Original geschrieben von icon
        in einem query-string darf am schluss kein anführungszeichen sein..
        ist doch nicht?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Ich wollte eigentlich mit LOAD DATA INFILE die CSV in die Datenbank importieren, aber der Provider hat dies aus Sicherheitsgründen deaktiviert.

          Der Original-String sieht folgendermaßen aus:

          $sql = "insert into customer values ('".implode("','", $arr) ."')";

          Die Daten in der CSV-Datei sind alle durch Komma getrennt und ohne einfaches oder doppeltes Anführungszeichen.

          Eine Ausgabe erreiche ich noch nicht einmal. Wenn ich hinter den SQL-String echo $sql setze, dann kommt trotzdem der PARSE-Error. Irgendwas stimmt also schon nicht in dem String, ich denke mit den Anführungszeichen.

          Kommentar


          • #6
            Eine Ausgabe erreiche ich noch nicht einmal. Wenn ich hinter den SQL-String echo $sql setze, dann kommt trotzdem der PARSE-Error. Irgendwas stimmt also schon nicht in dem String, ich denke mit den Anführungszeichen.

            dann mach die ausgabe doch vorher, menno.

            EDIT:
            oder, falls möglich, häng die datei dran ...
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar

            Lädt...
            X