Zum Inhalt springen

Problem mit LOAD DATA INFILE


Empfohlene Beiträge

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 von floboof
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...