phpbar.de logo

Mailinglisten-Archive

[php] SOLVED Re: MySQL .csv Import nach File-Upload

[php] SOLVED Re: MySQL .csv Import nach File-Upload

Michael Borchers list at tridemail.de
Don Feb 15 13:18:49 CET 2007


> Ü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