这是我掌握的信息:
我正在使用基于 Linux 的系统使用 MySQL 和 PHP5。我需要能够从 .php 文件中生成 mysqldump
,然后将该转储存储在服务器上我指定位置的文件中。
由于我是一个 PHP 菜鸟,我希望有人给我一些帮助、指导或代码,这将满足我的要求。这必须从 Internet 远程运行。
原文由 Thomas Ward 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是我掌握的信息:
我正在使用基于 Linux 的系统使用 MySQL 和 PHP5。我需要能够从 .php 文件中生成 mysqldump
,然后将该转储存储在服务器上我指定位置的文件中。
由于我是一个 PHP 菜鸟,我希望有人给我一些帮助、指导或代码,这将满足我的要求。这必须从 Internet 远程运行。
原文由 Thomas Ward 发布,翻译遵循 CC BY-SA 4.0 许可协议
以上代码都不适合我。我正在使用窗户。下面的代码对我有用……
$sql = "SELECT * FROM $tableName WHERE yourclause";
$result = $conn->query($sql);
if($result){
if ($result->num_rows > 0) {
$myfile = fopen("daily_events_$district.sql", "w") or die("Unable to open file!");
while($row = $result->fetch_assoc()) {
$rowToString = implode("','",$row);
$writeToFile = "INSERT INTO $tableName VALUES('$rowToString');". PHP_EOL;
fwrite($myfile,$writeToFile);
}
echo "File saved successfully";
}
} else {
echo "No result found";
}
这将根据您的查询将文件保存在您的项目文件夹中您想要的任何数据。
原文由 swarnim dixit 发布,翻译遵循 CC BY-SA 4.0 许可协议
5 回答3.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
您可以使用
exec()
函数执行外部命令。注意:在
shell_exec()
和exec()
之间,我会选择第二个,它不会将输出返回给 PHP 脚本——不需要 PHP 脚本来获取整个 SQL转储为字符串:您只需将其写入文件,这可以通过命令本身来完成。该外部命令将:
mysqldump
,例如 :
这意味着您的 PHP 代码将如下所示:
当然,由您决定使用正确的连接信息,将
...
替换为那些。