Как использовать текстовый файл для создания записей таблицы SQL?

У меня есть текстовый файл, который выглядит так:

WPG GRIFFON, WIREHAIRED
AFG HOUND, AFGHAN
IBI HOUND, IBIZAN
WOF HOUND, IRISH WOLF
OTT HOUND, OTTER
PHA HOUND, PHAROAH
DER HOUND, SCOTTISH DEER
JIN JINDO
...

и я пытаюсь переписать эту строку кода, чтобы он сказал имена собак

$link = mysqli_connect($servername, $username, $password, $db) or die(mysqli_error($link));

mysqli_query($link, "CREATE TABLE IF NOT EXISTS `description` (`descID` int(10) NOT NULL AUTO_INCREMENT, `desc` text NOT NULL, PRIMARY KEY (`descID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;");

mysqli_query ($ link, «INSERT INTO description (descID, desc) ЗНАЧЕНИЯ (1, «описание 1»), (2, «описание 2»), (3, «описание 3»), (4, «описание 4»); «);

Тем не менее, я всегда получаю сообщение об ошибке, и это приводит к сбою веб-страницы, потому что я не могу получить файл для чтения и сохранения.

$handle = @fopen("names.txt", "r");
while (!feof($handle)) // Loop til end of file.
{
$buffer = fgets($handle, 4096);

$sql = "INSERT INTO data_table ...."mysql_query($sql,$conn) or die(mysql_error());
}

0

Решение

Вы необходимость использовать INSERT заявления? Есть два других очень жизнеспособных варианта (возможно, из коробки):

  1. LOAD DATA: SQL, который загружает предварительно созданные данные CSV в таблицу. Увидеть руководство по MySQL а также это так нить

Пример использования (из связанной ветки SO):

LOAD DATA INFILE 'path/file.csv'
INTO TABLE tbl_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(column1, column2, column3);
  1. mysqlimport: Если у вас есть доступ к оболочке MySql, вы можете использовать ее для импорта физического CSV в базу данных. Увидеть руководство по MySQL или же этот пост от случайного клика Google
0

Другие решения

Других решений пока нет …