Mailinglisten-Archive |
> Über ein Formular wird eine CSV Datei hochgeladen. > Diese wird nur temporär gespeichert und soll daraufhin in MySQL importiert > werden. > > if(is_uploaded_file($_FILES['tracking_file']['tmp_name'])) > { > $track_q = "LOAD DATA INFILE '" . $_FILES['tracking_file']['tmp_name'] > . > "' > INTO TABLE `tracking` > FIELDS TERMINATED BY ';' > ENCLOSED BY '\"' > ESCAPED BY '\\' > LINES TERMINATED BY '\r\n'"; > > mysql_query($track_q); > } > > > Die Datei wurde erfolgreich hochgeladen und existiert zum Zeitpunkt des > Skriptes eindeutig > unter $_FILES['tracking_file']['tmp_name']. > > Aber die Query bringt keinen Erfolg. Eine Testquery zuvor zeigt, dass die > Verbindung steht. > auch LOAD DATA LOCAL INFILE geht nicht. > Über phpMyAdmin geht die Query mit der gleichen Datei! > > Any ideas?! > Hier die Query, die mir phpMyAdmin nach erfolgreichem Import anzeigt und empfiehlt: LOAD DATA LOCAL INFILE '/tmp/php2mtcz4' INTO TABLE `tracking` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' Allerdings müsste sie in diesem Fall lauten: LOAD DATA LOCAL INFILE '/tmp/php2mtcz4' INTO TABLE `tracking` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '' LINES TERMINATED BY '\r\n' Dann geht es. Wie kommt diese falsche Maskierung zustanden?! ESCAPED BY '\\' :: ESCAPED BY ''
php::bar PHP Wiki - Listenarchive