Я создал эти 3 файла кода, чтобы загрузить CSV и импортировать его в базу данных MySQL. Запрос конечного результата:
LOAD DATA INFILE 'C:/inetpub/wwwroot/POS/tmp/test.csv' INTO TABLE 'wavepricelist' FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '' ESCAPED BY '' IGNORE 1 LINES ('productID','brand','productName','priceSingle','inStock','EAN','vendorID','category','imageURL','weight')
У меня есть отдельный сервер PHP и сервер MySQL. Если я запустил этот запрос с моей консоли MySQL, он будет работать без проблем. Я также убедился, что test.csv находится на локальном C-диске mysql со всеми правами, необходимыми для его чтения.
Я просто не могу понять, почему этот запрос не выполняется. Файл не возвращает ошибку (все они включены). Просто нет данных в таблице.
Мне очень жаль, что ребята не торопились! Я только что исправил это.
После прочтения: http://dev.mysql.com/doc/refman/5.1/en/load-data.html снова, это просто появилось у меня в голове, что пользователь, который пытается запустить скрипт, вероятно, не имеет "файла", глобальные привилегии.
Я изменил это, и теперь он работает отлично.
Еще раз спасибо за советы и поддержку.
Поместите клиент MySQL на сервер PHP и убедитесь, что вы можете выполнить аутентификацию в своей базе данных.
Если не
select * from db
и убедитесь, что ваш сервер PHP имеет разрешение на подключение к базе данных MySQL. Если нет, или если вы еще не запускали...
update db set Host='202.54.10.20' where Db='yourdb';
Замена IP-адреса IP-адресом сервера PHP и db с именем вашей базы данных.
Серверы настроены по-другому. Играть с параметрами LOAD - мой совет. http://dev.mysql.com/doc/refman/5.1/en/load-data.html
Попробуйте использовать LOAD DATA LOCAL INFILE