как экспортировать данные таблицы базы данных mysql в электронную таблицу, а затем отправить их в браузер?

Мне нужно экспортировать таблицу с именем «app_users» из моей базы данных в электронную таблицу, например, csv. Как мне это сделать? Кроме того, как мне отправить этот файл в браузер? Я использую фреймворк Zend.


person Sonu Jha    schedule 05.07.2013    source источник


Ответы (2)


В соответствии с этим ответом вы можете выполнить следующий SQL-запрос, если у вас есть прямой доступ к файловой системе, на которой находится сервер БД:

SELECT *
FROM app_users
INTO OUTFILE '/tmp/app_users.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

EDIT: вам, вероятно, также потребуется удалить этот файл с помощью php после того, как он будет создан и передан пользователю, иначе при следующем запуске вышеуказанного запроса он может отказаться перезаписывать файл (это значение по умолчанию ).

person Ryan Weir    schedule 05.07.2013
comment
Спасибо Райан! и как мне отправить его в браузер, чтобы пользователю было предложено диалоговое окно сохранения? - person Sonu Jha; 05.07.2013
comment
Если вы выполняете эту команду sql в php на сервере, добавьте код после нее в php, который будет возвращать файл обратно в браузер пользователя. См. пример на stackoverflow.com/a/2028918/808532, хотя вам нужно будет изменить типы заголовков на csv . - person Ryan Weir; 05.07.2013
comment
Оно работало завораживающе! Спасибо! Но файл csv не содержит имен полей в верхней строке. Есть ли способ сделать это? - person Sonu Jha; 08.07.2013
comment
К сожалению, вам нужно сделать это вручную с помощью UNION в запросе по строкам SELECT 'first', 'second', 'third' UNION ALL SELECT * FROM app_users... см. pressingquestion.com/1528089/ - person Ryan Weir; 08.07.2013
comment
также я пытаюсь удалить этот файл, используя unlink(). Но поскольку владельцем файла является mysql, я не могу. Как я могу это исправить? - person Sonu Jha; 08.07.2013

нажав кнопку экспорта на панели инструментов mysql в базу данных sql

person user2551695    schedule 05.07.2013
comment
мне нужно отправить файл в браузер, когда посетитель нажимает кнопку загрузки на моем сайте! :) - person Sonu Jha; 05.07.2013