Jag svarade på en praktiskt taget identisk fråga häromdagen: Spara CSV-filer i mysql-databasen
MySQL har en funktion LOAD DATA INFILE
, vilket gör att den kan importera en CSV-fil direkt i en enda SQL-fråga, utan att den behöver bearbetas i en loop via ditt PHP-program alls.
Enkelt exempel:
<?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 är det.
Inga loopar, inget krångel. Och mycket mycket snabbare än att analysera det i PHP.
MySQL manualsida här:http://dev.mysql. com/doc/refman/5.1/en/load-data.html
Hoppas det hjälper