Możesz użyć Mysql LOAD DATA LOCAL INFILE składnia
LOAD DATA LOCAL INFILE '/path/to/file.txt'
INTO TABLE 'table1'
LINES TERMINATED BY '\n'
W tym celu upewnij się, że Mysql
ma dostęp do /path/to/file.txt
. Również użytkownik wykonujący zapytanie musi mieć PLIK przywilej.
Z Pure PHP to proste. Przeczytaj plik, zbuduj zapytanie, wykonaj je. Musisz zbudować zapytanie, aby nie zapętlić zapytania, co jest powolne.
$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);