Я пытаюсь скачать CSV-файл, получая содержимое из базы данных, но я хочу получить его имя из базы данных, а также из одной таблицы (имя файла) с одним полем (имя).
Вот мой код:
// Connecting to Database
$mysqli = new mysqli('servername.ipagemysql.com', 'username', 'pass', 'reportconverter');
$filename = array_values(mysqli_fetch_array($mysqli->query("SELECT name FROM filename")))[0];
//Downloading the file
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
echo $output;
exit;
Я получаю следующую ошибку:
Внутренняя ошибка сервера
Сервер обнаружил внутреннюю ошибку или неверную конфигурацию и не смог выполнить ваш запрос.
Имя сервера, имя пользователя, пароль и имя базы данных являются точными, поскольку они работают на других страницах. Код также работает на локальном хосте. Но если я помещаю данные для входа на сервер в файл localhost, я получаю эту ошибку:
Warning: mysqli_connect(): (HY000/2002): No connection could be made because the target machine actively refused it.
Есть идеи? Или мне обратиться за помощью к моему хостингу?
Наконец я исправил проблему. Это было [0] причиной проблемы, потому что версия php на моем сервере не поддерживает этот оператор, поэтому мне пришлось изменить его следующим образом:
$filename = array_values(mysqli_fetch_array($mysqli->query("SELECT name FROM filename")));
$filename = $filename[0];
Других решений пока нет …