我使用此代码下载MySql数据库的备份,但它下载了一个空文件。 还请指导恢复此备份。
<?php
//connect to database
include'connect.php';
$backupFile = $dbname . date("Y-m-d-H-i-s") . '.sql';
$command = "mysqldump -h$hostname -u$username -p$password $dbname > $backupFile";
system($command);
?>
答案 0 :(得分:0)
将system
替换为echo
以显示生成的命令,并在命令行上手动执行。错误通常显示在STDERR上,system
调用不会捕获错误,如果输出空,则表示无法输出任何内容。修复错误,然后修复代码。我还使用passthru
代替system
。
要在之后使用(从命令行)恢复备份:
mysql -u<user> -p <database> < myfile.sql
答案 1 :(得分:-1)
您的变量坚持选项。试着改变这个:
$command = "mysqldump -h$hostname -u$username -p$password $dbname > $backupFile";
对此:
$command = "mysqldump -h $hostname -u $username -p $password $dbname > $backupFile";