floboof Geschrieben 15. Mai 2008 Geschrieben 15. Mai 2008 (bearbeitet) Hallo Leute, ich habe mir ein kleines Script gebaut mit dem ich über ein Formular eine Textdatei auswählen kann, sie speicher und dann soll sie duch LOAD DATA INFILE in eine Db gespeichert werden. Das Problem ist allerdings, das der LOAD DATA INFILE Befehl in PHP nicht ausgeführt wird bzw. er nicht funktioniert. Gebe ich aber den Befehl als SQL-Statement in PHPMyAdmin ein funktioniert es. Muss ich evtl. noch irgendetwas einstellen? hier mal der Befehl in meiner .php-Datei move_uploaded_file($_FILES['Textdatei']['tmp_name'], "Auktionsdaten.txt"); if ($_FILES['Textdatei']['tmp_name'] != "") { $path = $_FILES['Textdatei']['tmp_name']; mysql_query("LOAD DATA LOCAL INFILE '$path' INTO TABLE afterbuy.auktionsdaten FIELDS TERMINATED BY '\,' ENCLOSED BY '\"' LINES TERMINATED BY '\n'"); } else { echo 'Fehler'; } [/PHP] Achso ich lass das auf meinem Rechner unter Xampp laufen. Ich habe gehört, das der Befehl unter Windows Lokal etwas anders sein soll ?! Weiss da jemand bescheid ? Schonmal danke für die Hilfe. Bearbeitet 15. Mai 2008 von floboof Zitieren
dr.dimitri Geschrieben 15. Mai 2008 Geschrieben 15. Mai 2008 Ich kenn mysql nicht aber ein par generelle Punkt fallen mir auf: mysql_query Du schickst keine Query (Abfrage=SELECT) sondern ein DML Statement. Ich vermute, PHP hat dafür eigene Methoden. echo 'Fehler'; Was soll man dazu sagen? :old Das ist ungefähr so, als ob man ein Auto in die Werkstatt bringt und sagt "es geht nicht" sich umdreht und wieder geht. Vielleicht würde dort sogar eine Fehlermeldung ausgegeben werden, die dir sagt wo Du suchen musst. Also mach eine vernünftige Fehlerbehandlung, dann bist Du vielleicht schon weiter. Funktioniert der LOAD Befehl eigentlich übers Netzwerk oder muss die DB lokalen Zugriff auf die Datei haben? Das wär auch noch ein Grund weswegen es nicht funktionert. Dim Zitieren
Aiun Geschrieben 15. Mai 2008 Geschrieben 15. Mai 2008 die magische wunderkugel heißt "mysql_error" dann die Frage, ist sie DB-Verbindung überhaupt da ? Zitieren
floboof Geschrieben 16. Mai 2008 Autor Geschrieben 16. Mai 2008 Hallo, danke für die Antworten. Db-Verbindung ist da und funktioniert auch. Es wird keine Fehlermeldung ausgegeben weder über mysql_error() [/PHP] noch über [PHP] error_reporting(E_ALL). Wahrscheinlich hat dr.dimitri recht und die Db benötigt lokalen Zugriff auf die Datei. Ich hab es jetzt online gemacht und siehe da es funktioniert. Zitieren
Cato Geschrieben 20. Mai 2008 Geschrieben 20. Mai 2008 Der query_Syntax von floboof ist schon richtig. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.