我正在用PHP写一个应用程序(电报Bot)。这个应用程序的一个工作是从表中导出数据并将其发送给用户。我用过这个:
$file = '/home/admin/domains/mydomain/public_html/subdomian/mybot/data.ods';
mysqli_query($this->db, "SELECT * INTO OUTFILE '$file' FROM `{$this->text}`");
但查询没有,当我在phpmyadmin中运行查询时,我得到了拒绝访问错误。 起初我以为我无法从数据库导出(因为访问受限)但是当我在phpmyadmin中导出导出选项卡并按下go按钮(从数据库导出数据)时,我的浏览器开始下载导出的{{1文件。所以我认为我的数据库用户无权访问主机中的文件。 那么如何找到(或创建)和导出数据链接?
我可以不选择数据库中的所有数据并将它们保存到主机的文件夹中吗?
我想要的只是导出数据的链接。
答案 0 :(得分:0)
要执行SELECT INTO OUTFILE,您的MySQL帐户需要FILE权限:https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html#priv_file。您可以学习phpMyAdmin的源代码,看看它是如何导出的,并提供通过浏览器保存生成的文件。