Я пытаюсь использовать LOAD DATA INFILE
для вставки некоторых записей в таблицу. К сожалению, он не работает.
Вот несколько деталей
Если я использую эту инструкцию:
LOAD DATA INFILE 'file.txt'
INTO TABLE table_ex
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, field2, field3, field4);
Он работает с использованием клиентской программы MySQL и приложения PHP. Таким образом, он будет искать файл в каталоге данных моей установки MySQL.
Теперь, если я попытаюсь выполнить инструкции с помощью параметра LOCAL
, он будет работать, только если я использую клиент mysql, но не из PHP:
LOAD DATA LOCAL INFILE 'path/to/file/file.txt'
INTO TABLE table_ex
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, field2, field3, field4);
Снова.. он работает с клиентом MySQL, но не с PHP-приложением... Я получаю эту ошибку:
LOAD DATA LOCAL INFILE forbidden in /path/to/my/application
Я читал, что проблема связана с компиляцией PHP и использованием mysqlnd. Я использую PHP 5.3.8 и MySQL 5.5.15, но я не нашел решение.
Дополнительная информация: до сих пор единственная помощь, которую я нашел, - это открыть PHP-ошибку: