php - php 的 mySql INTO OUTFILE 问题

标签 php mysql sql into-outfile

我正在使用 mySql INTO OUTFILE 生成包含 sql 数据的文件。

$wpdb->query("SELECT * INTO OUTFILE 'result.sql'  FROM ". DB_PHOTOS .";");

我现在想要将文件下载到客户端(使用 PHP)。由于它是一个 WordPress 插件,因此我不想指定特定位置(例如 c:/result)。如何使用 PHP 获取该文件并下载它?

最佳答案

形成mysql手册:

The SELECT ... INTO OUTFILE statement is intended primarily to let you very quickly dump a table to a text file on the server machine. If you want to create the resulting file on some other host than the server host, you normally cannot use SELECT ... INTO OUTFILE since there is no way to write a path to the file relative to the server host's file system.

意思是,如果你的 php 和 mysql 在同一台本地计算机上,你可以将文件转储到特定位置,然后将文件移动到更好的位置或直接提供它,有点像 readfile()

确实,如果数据库和 Web 服务器位于不同的计算机上,则此功能将无法使用。取决于您的意图,理论上您可以通过 system() 调用使用 mysql -e "SELECT ..."> file_name 在本地生成文件,但它也不通用。

关于php - php 的 mySql INTO OUTFILE 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728864/

相关文章:

PHP 菜鸟在只有一个已知 id 的多值引用上

c# - AddWithValue 方法 (C#) 什么都不做

java - 如何检索表示结果集中总和的 "total"变量

php mysql 计数

php - 关于 mysql_real_escape_string 和 strip_slashes 的混淆

php - 如何在 Yii $criteria 中使用 DATE_ADD?

mysql - 无法使用命令行提供的密码执行 mysql 命令

sql - Firebird 触发 SQL 验证查询

php - Laravel,做..while 循环无限循环吗?

php - 我如何通过从数据库检索代码来输出这种格式?