Ich habe neulich eine praktisch identische Frage beantwortet: CSV-Dateien in MySQL-Datenbank speichern
MySQL hat eine Funktion LOAD DATA INFILE
, wodurch eine CSV-Datei direkt in eine einzige SQL-Abfrage importiert werden kann, ohne dass sie überhaupt in einer Schleife über Ihr PHP-Programm verarbeitet werden muss.
Einfaches Beispiel:
<?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);
?>
So einfach ist das.
Keine Schleifen, keine Aufregung. Und viel viel schneller als das Parsen in PHP.
MySQL-Handbuchseite hier:http://dev.mysql. com/doc/refman/5.1/en/load-data.html
Hoffe das hilft