php - 在php中获取mysql导出下载url

标签 php mysql

我正在使用 PHP(电报机器人)编写一个应用程序。该应用程序的工作之一是从表中导出数据并将其发送给用户。我用过这个:

$file = '/home/admin/domains/mydomain/public_html/subdomian/mybot/data.ods';
mysqli_query($this->db, "SELECT * INTO OUTFILE '$file' FROM `{$this->text}`");

但是查询没有,当我在 phpmyadmin 中运行查询时,出现访问被拒绝错误。 起初我以为我无法从数据库导出(因为访问权限有限),但是当我转到 phpmyadmin 中的导出选项卡并按下“开始”按钮(从数据库导出数据)时,我的浏览器开始下载导出的 .sql 文件。所以我认为我的数据库用户无权在主机中保存文件。 那么如何查找(或创建)并导出数据链接呢?

我可以在不选择数据库中的所有数据并将它们再次保存到主机中的文件夹中的情况下执行此操作吗?

我想要的只是导出数据的链接。

最佳答案

要执行 SELECT INTO OUTFILE,您的 MySQL 帐户需要 FILE 权限:https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html#priv_file 。您可以研究 phpMyAdmin 的源代码,了解它如何导出并通过浏览器保存结果文件。

关于php - 在php中获取mysql导出下载url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45772516/

相关文章:

java - 在哪里初始化连接池,java tomcat

php - 访问兄弟类方法

php - Paytm 支付网关,启动交易模式 php 中的系统错误

java - 从java执行mysql命令时出错

mysql - Hibernate:constraintName 在 MySQL 中为空

mysql - PHPMyAdmin/MySQL 导出表说明

PHP mb_substr 划分错误 utf 8

php - Jenkins 无法识别 Composer 命令

php - 我对管理 mysql 中的分层数据感到困惑

php - joomla 组件不会获取新的数据库项目