problem mit csv imprt beim Syntax...

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

  • problem mit csv imprt beim Syntax...

    Ich würde gerne eine csv datei per php importieren, wenn ich es per phpmyadmin mache geht es...
    hier der code..
    PHP-Code:
    [PHP]
    $pfadh = addslashes($_GET['pfadh']);
    $pfadu = addslashes($_GET['pfadu']);
    $pfadt = "$pfadh$pfadu";

    $dateia = "$pfadt.reiter3.csv";
    echo $dateia;
    $sql = "LOAD DATA LOCAL INFILE '$dateia' INTO ". $_CONFIG['db']['tbl.reiter'] ." FIELDS TERMINATED BY ';' ESCAPED BY '\\' ENCLOSED BY '"' LINES TERMINATED BY '\r\n'";

    $eintrag=mysql_query($sql);
    echo "Datei wurde importiert"
    /PHP]

    und ich habe folgende Fehlermeldung:

    PHP-Code:
    Parse errorsyntax errorunexpected T_CONSTANT_ENCAPSED_STRING in /var/www/localhost/htdocs/startlb1.php on line 132 
    ich kann das problem nicht erkennen..

  • #2
    Re: problem mit csv imprt beim Syntax...

    Code:
      $sql = "LOAD DATA LOCAL INFILE '$dateia' INTO ". $_CONFIG['db']['tbl.reiter'] ." FIELDS TERMINATED BY ';' ESCAPED BY '\\' ENCLOSED BY '"' LINES TERMINATED BY '\r\n'";
    Da ist doch ein " das nicht escaped wird
    Zuletzt geändert von MelloPie; 08.01.2008, 08:11.
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Fehlermeldung ist weg aber...

      nun ja danke mal erst für das mit dem "......

      aber importieren macht er nicht grummel , warum mag er mich nicht ??

      Kommentar


      • #4
        mysql_error() hilft dir gern dabei, aber ich tippe auf Rechteprobleme

        Kommentar


        • #5
          der will mir nix sagen...

          Der Code sieht nun so aus:

          PHP-Code:
          $pfadh =  addslashes($_GET['pfadh']);
          $pfadh =  addslashes($_GET['pfadh']);
          $pfadu =  addslashes($_GET['pfadu']);
          $pfadt "$pfadh$pfadu";

          $dateia "reiter3.csv";
          echo 
          "$dateia  <br>";
           
          $sql "LOAD DATA LOCAL INFILE '$dateia' INTO "$_CONFIG['db']['tbl.reiter'] ." FIELDS TERMINATED BY ';' ESCAPED BY '\\' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'" or die ( mysql_error() );

          $eintrag=mysql_query($sql);
          if (!
          $sql) {
             die(
          "Fehler:" mysql_error());
          echo 
          "Datei wurde importiert <br>"
          echo $dateia macht er noch... weitere aussagen macht er nicht...

          das ist die reiter3.csv

          PHP-Code:
          "";"9";"WITTHAUT BARBARA";"0235";"0"

          ""
          ;"9";"WITZKI SYLVIA";"0236";"0"

          ""
          ;"9";"WOLTER HANNAH";"0237";"0"

          ""
          ;"9";"WOLTERS INGE";"0238";"0"

          ""
          ;"9";"ZWINGMANN MICHAEL";"0239";"0" 
          alle ordner und dateien haben rechte 777

          und am anfang des scriptes steht auch:

          error_reporting(E_ALL);

          so ein biest weiss jemand warum ??

          Kommentar


          • #6
            info

            mit und ohne Pfad zur datei egal es kommt nix...

            PHP Version ist PHP : Version 5.2.4
            Mysqlversion ist: 5.0.42
            Zuletzt geändert von ronaldl; 09.01.2008, 07:08.

            Kommentar


            • #7
              $sql = "LOAD DATA ..." or die ( mysql_error() );
              ist natürlich ziemlich Käse!
              Und pack an den Anfang deines Skriptes mal error_reporting( E_ALL );

              Kommentar


              • #8
                was soll der Unfug hier:

                $eintrag=mysql_query($sql);
                if (!$sql)

                Kommentar


                • #9
                  Nun nach ein bisschen lesen und testen habe ich es jetzt so:

                  PHP-Code:
                   $sql mysql_query("LOAD DATA LOCAL INFILE '$dateia' INTO table "$_CONFIG['db']['tbl.reiter'] ." FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\n'") or die ( mysql_error() ); 
                  Den text habe ich wie folgt abgeändert dann klappt es

                  PHP-Code:
                  "";"9";"WITTHAUT BARBARA";"0235";"0"
                  danke für eure hilfe..

                  Kommentar


                  • #10
                    Original geschrieben von ronaldl
                    Den text habe ich wie folgt abgeändert dann klappt es
                    Wenn das nötig ist, stimmt die Anzahl Attribute der csv-Datei nicht mit derjenigen der Zabelle überein. Statt die Datei zu ändern (was ja auch nicht immer möglich ist), würdest du dann besser eine "Feldliste" angeben:
                    PHP-Code:
                    $sql "LOAD DATA LOCAL INFILE '$dateia
                            INTO table " 
                    $_CONFIG['db']['tbl.reiter'] . "(
                                attr_1, attr_2, attr_3, attr_4, attr_5
                            )
                            FIELDS TERMINATED BY ';' ENCLOSED BY '\"' 
                            LINES TERMINATED BY '\n'"

                    mysql_query($sql) || die(mysql_error() ; 
                    PS
                    Bitte brich deinen Code um!
                    Gruss
                    H2O

                    Kommentar

                    Lädt...
                    X