nachsatz: die datei wird auch gefunden, folgender testcode gibt "true" zurück:
PHP Version 4.1.2PHP-Code:if (file_exists('/var/www/html/transfer/export.txt')) {
echo "file existiert<br>";
}
mysql-api-version: 3.23.56
morgen
hab ein problem, dessen ich mir überhaupt nicht klar werde. ich möchte einen txt-file (optional auch csv, beides funktioniert nicht) in eine tabelle importieren!
aufbau der tabelle (auf die id hab ich aus testzwecken verzichtet, auch MIT hat es nicht funktioniert):
- geburtsjahr, int(4)
- praemie, dezimal(10,2)
- verssumme, dezimal(10,2)
- auszahlung, dezimal(10,2)
- geschlecht, tinyint(1)
folgender php-code:
der absolute serverpfad stimmt, auch die txt-datei ist vorhanden (ich lege sie bei)!PHP-Code:$uebernahme = "LOAD DATA LOCAL
INFILE '/var/www/html/transfer/export.txt'
INTO TABLE superee03
FIELDS
TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '\n'";
$action = mysql_query($uebernahme);
ich bekomm keine fehlermeldung, aber es wird einfach nichts eingefügt
zum verrücktwerden .... danke schon mal für die hilfe
Geändert von mike (19.08.2003 um 11:12 Uhr)
nachsatz: die datei wird auch gefunden, folgender testcode gibt "true" zurück:
PHP Version 4.1.2PHP-Code:if (file_exists('/var/www/html/transfer/export.txt')) {
echo "file existiert<br>";
}
mysql-api-version: 3.23.56
Geändert von prefix (19.08.2003 um 09:33 Uhr)
Diese Art von Query oder auch ein SELECT INTO OUTFILE (ist ja das gegenstück zu deinem) benötigen glaube ich Execute-Rechte in deinem Webspace-Root. Da dies bei den meisten Hostern nicht der Fall ist, wirste damit wenig Glück haben. Zusätzlich sagt das Manual das ein LOAD DATA "FILE"-Rechte braucht (http://www.mysql.com/doc/en/LOAD_DATA.html).
Gruss
Jan
hmm, aber ich bin ja der owner (ist für die firmenseite) in bezug auf den zugriff!
und wenn ich nur den entsprechenden files alle rechte geb, funktioniert es auch nicht....
gibt es da eine andere lösung (phpmyadmin hab ich nicht, mysql-front unterstützt das erst ab einer höheren mysql-version)??
zusätzlich kommt mir dieser eintrag noch ein wenig spanisch vor (auch wenns mit dem eintrag keinen fehler gibt):
OPTIONALLY ENCLOSED BY '\n'....
was willst du damit machen?
......
FIELDS [OPTIONALLY] ENCLOSED BY controls quoting of fields.
For output (SELECT ... INTO OUTFILE), if you omit the word OPTIONALLY, all fields are enclosed by the ENCLOSED BY character.
MySQL Reference Manual (C) 2002 MySQL AB
........
hmm, hab das rausgenommen und es geht immer noch nicht.
das komische ist, dass ich am intranetserver auch owner bin und dort funktioniert es so, nicht auf der website![]()
ist das eine einmalige sache?
jetzt stellt sich für mich aber eine frage:
was ist, wenn ich die zeilen einzeln rauslese und in die db schreibe?? das könnte ja eine lösung sein(noch dazu, wo ich den import eh nur 1x brauch)
hehe michi, jetzt hatten wir beide absolut dieselben gedanken!
ich versuch es mal mit fopen und dann dem eintrag in die tabelle![]()
mom...
Wie gesagt: Der MySQL-Benutzer braucht das FILE-Privileg. Zusätzlich kann es sein, dass dein Webroot z.B. /usr/www/web18 für Others oder Gruppe an dieser Stelle bereits Execute-Rechte benötigt.
mein mysql-font kanns nämlich![]()
Geändert von mike (19.08.2003 um 11:12 Uhr)
ok, ich kann die datei mal öffnen und lesen:
ich als anti-array-spezialist werd jetzt aber mal per explode() versuchen, anhand der ";" zu trennen und in die betroffenen felder zu schreiben - ich hoff, ich schaffsPHP-Code:$datei = fopen("export.txt","r");
// schleife für eintrag
while (!feof($datei)) {
$inhalt = fgets($datei,200);
echo "$inhalt<br>";
}
// test
die("ende");
wenn nicht, meld ich mich mit sicherheit wieder *lol*
hey, danke
allerdings: darf ich dich später nochmal um das txt-file mit leicht anderen daten bitten?? hab sie grad bekommen, nach der besprechung jetzt werd ich sie aufbereiten!
wär ganz lieb, wenn du mir das bitte noch einmal machen könntest - meld mich so gegen 11.30 uhr oder so (wenn chef-besprechung vorbei ist) - thx euch beiden![]()
hast pm
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)