【问题标题】:Export data from database to sql file with PHP使用PHP将数据从数据库导出到sql文件
【发布时间】:2019-12-29 03:05:20
【问题描述】:

我需要将数据(仅数据,而不是表或数据库)从数据库导出到SQL 文件并保存。如何编写一个 PHP 函数来做到这一点?我想在运行特定查询(例如更新博客文章)时在特定情况下调用此函数。

类似:

/*
* Get the data from the database (already specified) and export it to a SQL file
*
* @param  string $dir Where to store the SQL file. Must be a full path.
* @return void
*/
function export_database_data(string $dir) {
  // some code that gets the data and store it in $data
  // don't know what to do here

  // create/update the file
  file_put_contents("$dir/data_backup.sql", $data);
}

为什么会这样?

(您无需阅读以下内容即可帮助我解决问题。我将其包含在内是因为我确定如果不包含此内容,有人会问它。

我想这样做是因为我想要备份数据(只有数据;表无关紧要,因为我已经知道如何处理它们以进行备份)。

我这样做是因为我将使用 PHP 函数 exec 来运行 git 命令并在 SQL 文件中提交更改。最终目标是跟踪数据库中的数据,这些数据不会经常更新。我需要SQL 文件中的数据,我的目标是使用git,因为它易于访问和与他人协作(我想不出更好的解决方案,创建自己的跟踪系统需要大量工作和时间)。

【问题讨论】:

  • 为什么不使用mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql?查看更多here
  • ReynierPm 我可以用 PHP exec 函数运行这个命令吗? “mydb”是数据库的名称吗?
  • 太棒了!我会尝试一下!您应该将其发布为答案!
  • 很确定其中一个标签不属于那里。

标签: php mysql


【解决方案1】:

您可以使用 PHP 的 exec 函数运行 mysqldump 命令来仅导出数据。例如:

exec('mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql');

更多信息:

【讨论】:

  • 我会尽力告诉你情况如何
  • 我运行了你的代码,虽然没有出错,但它没有创建文件。你能再帮我一次吗?我可以在哪里发布我的代码(在 cmets 或帖子中)?
  • 我发现我做错了什么,你的命令奏效了!!谢谢!!
猜你喜欢
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 2016-10-25
  • 1970-01-01
相关资源
最近更新 更多