mysql — синтаксическая ошибка LOAD DATA INFILE, если выполняется из php или shell-скрипта

У меня есть следующая команда SQL внутри файла test.php для выполнения cron:

$sql = "DELETE FROM `module_currency_rates_rate`;
LOAD DATA INFILE '/export/home/mysql/test.txt' INTO TABLE `module_currency_rates_rate` FIELDS TERMINATED BY ',';
UPDATE `module_currency_rates_rate` SET `date_add` = now();
";
if(!mysql_query($sql)) exit(mysql_error());

Когда я выполняю этот скрипт через командную строку (все пути являются абсолютными, чтобы доказать, что здесь нет ошибок) в оболочке:

/www2/bin/php /export/home/mysql/bin/test.php

Я всегда получаю следующую ошибку:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LOAD DATA INFILE '/export/home/mysql/test.txt'

Тем не менее, когда я запускаю тот же сценарий WITHIN командной строки mysql (mysql-uuser -ppass), файлы загружаются правильно и синтаксических ошибок нет! Я отчаянно ищу решение для запуска запроса через скрипт PHP. Просто добавлю: все необходимые разрешения даны для файлов и для пользователей Unix.

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы [email protected]