Nedávno jsem odpověděl na prakticky identickou otázku: Uložte soubory CSV do databáze mysql
MySQL má funkci LOAD DATA INFILE
, což mu umožňuje importovat soubor CSV přímo v jediném SQL dotazu, aniž by jej bylo nutné zpracovávat ve smyčce pomocí vašeho PHP programu.
Jednoduchý příklad:
<?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);
?>
Je to tak jednoduché.
Žádné smyčky, žádný rozruch. A hodně mnoho rychlejší než analýza v PHP.
Manuálová stránka MySQL zde:http://dev.mysql. com/doc/refman/5.1/en/load-data.html
Doufám, že to pomůže