Load Data Infile ...

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

  • Load Data Infile ...

    Hallo zusammen,

    ich habe ein Problem mit dem Update einer mySQL-Datenbank mittels csv-Datei auf dem Webspace. Folgenden Code habe ich bis jetzt

    PHP-Code:
    $datei=$_FILES["datei"]["tmp_name"];
        
    copy($datei,"temp/termine.csv");

        
    $datei="/srv/www/htdocs/.../html/.../termine.csv";
        
        new 
    datenbank;
        
    mysql_query("TRUNCATE TABLE termine"); 

        
    $sql "LOAD DATA INFILE '$datei
                INTO TABLE termine FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"
    ;

        
    $eintrag=mysql_query($sql); 
    Die Variable $eintrag ist leer und ein Update der Tabelle erfolgt auch nicht. Ich denke, dass der Fehler in der Pfadangabe liegt. Die Datei wird auch noch auf den Server geladen und unter temp abgelegt. Was mache ich falsch? Bei mir zuhause funktioniert das Skript, da kann ich allerdings auch die absoluten Windows-Pfade angegeben!? Danke für eure Hilfe!
    Gruß,
    Christian

  • #2
    http://www.php-resource.de/forum/sho...threadid=47906

    Kommentar


    • #3
      Hi,

      Original geschrieben von penizillin
      http://www.php-resource.de/forum/sho...threadid=47906
      Falls Du den Befehl
      PHP-Code:
      error_reporting(E_ALL); 
      meinst, der bringt kein Ergebniss. Oder was war an meinem Beitrag nicht korrekt? Ne SQL-Fehlermeldung bekomme ich auch nicht.
      Gruß,
      Christian

      Kommentar


      • #4
        ich vermisse mysql_error().

        Kommentar


        • #5
          Hi,

          Original geschrieben von penizillin
          ich vermisse mysql_error().
          Ups, sorry. Meldung:

          Access denied for user: '***@localhost' (Using password: YES)

          Das habe ich zumindest bei meiner Recherche schonmal gelesen... nur wo...
          Gruß,
          Christian

          Kommentar


          • #6
            das liegt wohl daran, dass du die verbindung zur db nicht (oder falsch) aufgebaut hast. wozu ist
            PHP-Code:
            new datenbank
            gut?

            Kommentar


            • #7
              Hi,

              Original geschrieben von penizillin
              das liegt wohl daran, dass du die verbindung zur db nicht (oder falsch) aufgebaut hast. wozu ist
              PHP-Code:
              new datenbank
              gut?
              Die Verbindung ist aufgebaut, da die restlichen Skripte null Probleme machen. Der Befehl
              PHP-Code:
              new datenbank
              erzeugt ein neues Objekt aus der Klasse Datenbank, die im Konstruktor den connect stehen hat. Hätte ich keine Verbindung, bekäme ich folgende Fehler:

              Warning: Access denied for user: 'wwwrun@localhost' (Using password: NO) in /srv/www/htdocs/***/html/***/class_kalendar.php on line 359

              ... und davon gleich ne ganze Latte.
              Gruß,
              Christian

              Kommentar


              • #8
                Hi,

                gebe ich den SQL-String direkt in phpmyAdmin ein

                LOAD DATA INFILE '/srv/www/htdocs/user/html/***/termine.csv'
                INTO TABLE termine FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'

                bekomme ich die gleiche Fehlermeldung wie im Browser:

                #1045 - Access denied for user: 'user@localhost' (Using password: YES)

                Hilft das weiter?
                Gruß,
                Christian

                Kommentar


                • #9
                  http://dev.mysql.com/doc/refman/5.1/...ss-denied.html
                  If you are able to connect to the MySQL server, but get an Access denied message whenever you issue a SELECT ... INTO OUTFILE or LOAD DATA INFILE statement, your entry in the user table does not have the FILE privilege enabled.
                  hilft dir das weiter?

                  Kommentar


                  • #10
                    Hi,

                    Original geschrieben von penizillin
                    http://dev.mysql.com/doc/refman/5.1/...ss-denied.html hilft dir das weiter?
                    das könnte es durchaus sein. Nur leider hab ich keine Ahnung, wie ich an die Tabelle komme bzw. wie ich mich an die SQL-Konsole verbinde. :-(
                    Gruß,
                    Christian

                    Kommentar


                    • #11
                      mit pma? frag sonst deinen provider.

                      Kommentar


                      • #12
                        Hi,

                        Original geschrieben von penizillin
                        mit pma? frag sonst deinen provider.
                        Was ist pma? Provider werde ich mal ansprechen.
                        Habs jetzt mit nem eigenen Skript zum Import von csv-Dateien gelöst ;-). Hat das Load Data Infile irgendwelche besonderen Vorteile? In meinem Skript lese ich die Zeilen der csv-Datei aus, trenne am ";" und schreibe die mit nem INSERT in die DB-Tabelle. Klappt wunderbar.
                        Gruß,
                        Christian

                        Kommentar


                        • #13
                          phpmyadmin

                          ich wette implizit macht load data nichts anderes.

                          Kommentar

                          Lädt...
                          X