Jeg besvarede et stort set identisk spørgsmål forleden dag: Gem CSV-filer i mysql-databasen
MySQL har en funktion LOAD DATA INFILE
, som gør det muligt at importere en CSV-fil direkte i en enkelt SQL-forespørgsel, uden at den overhovedet skal behandles i en loop via dit PHP-program.
Simpelt eksempel:
<?php
$query = <<<eof
LOAD DATA INFILE '$fileName'
INTO TABLE tableName
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(field1,field2,field3,etc)
eof;
$db->query($query);
?>
Så enkelt er det.
Ingen sløjfer, ingen ballade. Og meget meget hurtigere end at parse det i PHP.
MySQL manual side her:http://dev.mysql. com/doc/refman/5.1/da/load-data.html
Håber det hjælper