Můžete použít Mysql LOAD DATA LOCAL INFILE syntaxe
LOAD DATA LOCAL INFILE '/path/to/file.txt'
INTO TABLE 'table1'
LINES TERMINATED BY '\n'
Za tímto účelem se ujistěte, že Mysql
má přístup k /path/to/file.txt
. Také uživatel, který provádí dotaz, musí mít FILE privilegium.
S Pure PHP je to snadné. Přečtěte si soubor, vytvořte dotaz, spusťte jej. Dotaz musíte sestavit tak, abyste neskončili zacyklením dotazu, které je pomalé.
$data = file("/path/to/file.txt", FILE_SKIP_EMPTY_LINES);
// make sure you have valid database connection prior to this point.
// otherwise mysql_real_escape_string won't work
$values = "('". implode("'), ('", array_map('mysql_real_escape_string', $data)). "')";
$query = "INSERT INTO `TABLE1` (`COLUMN1`) VALUES $values";
// Now just execute the query once.
mysql_query($query);