我正在使用 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/