Неустранимая ошибка: запрос не выполнен! SQL: ВЫБРАТЬ * В OUTFILE [решено] - PullRequest
0 голосов
/ 24 апреля 2020

Я не мог понять, почему запрос работает в PhpMyAdmin и из командной строки (mysql клиент), а не в PHP.

Неустранимая ошибка: Ошибка запроса! SQL: SELECT * INTO OUTFILE '/ var / www/html/domain.dom/tmp/qry_patients_11_11.csv' ПОЛЯ, ПРЕКРАЩЕННЫЕ ',' НЕОБЯЗАТЕЛЬНО ЗАКЛЮЧЕНЫ '' 'ЛИНИИ, ПРЕКРАЩЕННЫЕ "" "ОТ qry_patients; - Ошибка: в / var / www/html/domain.dom/export_csv.php в строке 90

Строка 90 и предыдущие:

$where = "";
$tbl_name = "qry_patients"; // table name of the selected db
$FileName = "/var/www/html/domain.dom/tmp/".$tbl_name."_".date("h_i").".csv";
$query = "SELECT * INTO OUTFILE '".$FileName."' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY \"\n\" FROM ".$tbl_name." ".$where.";";
//$query = "SELECT 1;";
$result = mysqli_query($linkDB, $query) OR trigger_error("Query Failed! SQL: $query - Error: ".mysqli_error(), E_USER_ERROR);

Через 2 дня я полностью застрял. Пожалуйста, помогите мне! Или c

1 Ответ

0 голосов
/ 03 мая 2020

GRANT FILE

Проблема была у пользователя MySQL. У него нет разрешения FILE в MySQL.

С разрешением GRANT FILE запрос работает в соответствии с указаниями.

Мой тест от клиента и в PhpMyAdmin был выполнен с пользователем с полным разрешением. :-) Пользователь, в котором я был трийнгом в PHP, имеет права только на одну БД.

По этой причине запрос не работает в моем скрипте PHP.

...