SQL Code wird nicht ausgeführt

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

  • SQL Code wird nicht ausgeführt

    Bin inzw. ziemlich am verzweifeln...

    Ich versuche eine CSV Excel Tabelle in eine MySql Datenbank einzufügen, klappt auch alles soweit wunderbar in phpmyadmin:

    Code:
    LOAD DATA
    		LOCAL INFILE 'C:/Programme/xampp/htdocs/import.csv'
    		INTO TABLE import
    		FIELDS 
    			TERMINATED BY ';'
    			OPTIONALLY ENCLOSED BY '\"'
    			ESCAPED BY '\\'
    		LINES
    			TERMINATED BY '\n' 
    			IGNORE 1 LINES

    aber sobald ich den Code durch ein PHP Script ausführen will passiert rein gar nichts....

    PHP-Code:
    <?php

    include 'config.inc.php';

    $connect mysql_connect ($DB_HOST$DB_USER$DB_PASSWORT);
    if (
    $connect) {
        if(
    mysql_select_db($database,$connect)) {
            
    $query  "LOAD DATA
                            LOCAL INFILE 'import.csv'
                            INTO TABLE import
                            FIELDS 
                                TERMINATED BY ';'
                                OPTIONALLY ENCLOSED BY '\"'
                                ESCAPED BY '\\'
                            LINES
                                TERMINATED BY '\n' 
                                IGNORE 1 LINES"
    ;
                                
            
    $result mysql_query($query$connect);
        }
        
    mysql_close ($connect);
    }

    ?>
    error_reporting(E_ALL);
    liefert keine Egebnisse

    MySql version ist 5.0.21
    PHP ist 5.1.4
    läuft im moment auf Windows mit XAMPP

    Ich vermute ja mal es liegt an TERMINATED BY '\n'
    aber wie könnte ich das anders lösen?
    Zuletzt geändert von Bastard2604; 29.07.2006, 14:32.

  • #2
    Re: SQL Code wird nicht ausgeführt

    den Query in einfache Anführungszeichen packen, oder den Backslash selbst auch nochmal escapen (\\n)

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      bringt leider nichts..., es wird trotzdem nichts in die Datenbank eingefügt

      Kommentar


      • #4
        echo mysql_error()?!

        ich wette er findet das File nicht...

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          die Datei wird sehr wohl gefunde...

          Allerdings zeigt er diesen Fehler an:

          You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\n' IGNORE 1 LINES' at line 7

          kann ich aber leider nichts mit anfangen
          Zuletzt geändert von Bastard2604; 29.07.2006, 15:17.

          Kommentar


          • #6
            zeig mal den aktuellen Code

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              PHP-Code:
              <?php
              include 'config.inc.php';
              $connect mysql_connect ($DB_HOST$DB_USER$DB_PASSWORT);
              if (
              $connect) {
                  if(
              mysql_select_db($database,$connect)) {
                      
              $query  "LOAD DATA
                                      LOCAL INFILE 'C:/Programme/xampp/htdocs/import.csv'
                                      INTO TABLE import
                                      FIELDS 
                                          TERMINATED BY ';'
                                          OPTIONALLY ENCLOSED BY '\"'
                                          ESCAPED BY '\\'
                                      LINES
                                          TERMINATED BY '\\n' 
                                          IGNORE 1 LINES"
              ;
                                          
                                          
                      
              $result mysql_query($query$connect);
                  }echo 
              mysql_error();
                  
              mysql_close ($connect);
              }
              ?>

              Kommentar


              • #8
                Damit der Query so aussieht, wie in dem Codeblock im ersten Post, fehlen noch 2 Anführungszeichen bei ENCLOSED BY, sollte dann so aussehen
                Code:
                OPTIONALLY ENCLOSED BY '\\\"'
                Wenn die Fehlermeldung dann immernoch ist, machst du noch irgendwo einen Fehler ... am besten mal echo $query; machen und dann in phpmyadmin einfügen

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  problem gelöst!

                  Ich musste folgende Zeile
                  ESCAPED BY '\\'

                  in

                  ESCAPED BY '\\\\'

                  ändern!


                  thx

                  Kommentar

                  Lädt...
                  X