Ho risposto a una domanda praticamente identica proprio l'altro giorno: Salva i file CSV nel database mysql
MySQL ha una funzione LOAD DATA INFILE
, che gli consente di importare un file CSV direttamente in una singola query SQL, senza che sia necessario che venga elaborato in un ciclo tramite il tuo programma PHP.
Esempio semplice:
<?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);
?>
È così semplice.
Nessun loop, nessun problema. E molto molto più veloce che analizzarlo in PHP.
Pagina di manuale di MySQL qui:http://dev.mysql. com/doc/refman/5.1/en/load-data.html
Spero di esserti stato d'aiuto