我需要将数据库中的数据(仅数据,而不是表或数据库)导出到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
,因为它易于访问并可以与他人协作(我认为没有更好的解决方案,因此创建自己的跟踪系统将需要很多工作和时间)。
答案 0 :(得分:3)
您可以使用PHP mysqldump
函数运行exec
命令以仅导出数据。例如:
exec('mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql');
更多信息: