Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem mit LOAD DATA INFILE

Empfohlene Antworten

Veröffentlicht

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

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

die magische wunderkugel heißt "mysql_error"

dann die Frage, ist sie DB-Verbindung überhaupt da ?

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.

Der query_Syntax von floboof ist schon richtig.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.