[英]backing up mysql database using php error
我正在尝试使用以下代码备份我的数据库:
$conn = mysqli_connect("localhost", "root", "", "mjaudio");
define("BACKUP_PATH", "/mjaudio/uploads/");
$server_name = "localhost";
$username = "root";
$password = "";
$database_name = "mjaudio";
$date_string = date("Ymd");
$cmd = "mysqldump --routines -h {$server_name} -u {$username} -p{$password} {$database_name} > " . BACKUP_PATH . "{$date_string}_{$database_name}.sql";
exec($cmd);
if (mysqli_query($conn, $cmd)) {
echo "<div class='alert alert-success'> ";
echo "<strong>Backup Successfull</strong>";
echo "</div>";
} else {
echo "<div class='alert alert-danger'> ";
echo "<strong>Oops! Something went wrong!</strong>";
echo "Error: " .$cmd."<br>".mysqli_error($conn);
echo "</div>";
}
但它给了我一个错误:
Oops! Something went wrong!Error: mysqldump --routines -h localhost -u root -p mjaudio > /mjaudio/uploads/20180831_mjaudio.sql
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'mysqldump --routines -h localhost -u root -p mjaudio > /mjaudio/uploads/20180831' at line 1
我一直在尝试修复查询,但它似乎不起作用。 我当前的 Xampp 控制面板是 v3.2.2。 版本有问题吗? 我怎样才能解决这个问题?
问题是您尝试查询命令行。 它不是 SQL 语句。 其余的代码看起来没问题
$conn = mysqli_connect("localhost", "root", "", "mjaudio");
define("BACKUP_PATH", "/mjaudio/uploads/");
$server_name = "localhost";
$username = "root";
$password = "";
$database_name = "mjaudio";
$date_string = date("Ymd");
$cmd = "mysqldump --routines -h {$server_name} -u {$username} -p{$password} {$database_name} > " . BACKUP_PATH . "{$date_string}_{$database_name}.sql";
if (exec($cmd)) {
echo "<div class='alert alert-success'> ";
echo "<strong>Backup Successfull</strong>";
echo "</div>";
} else {
echo "<div class='alert alert-danger'> ";
echo "<strong>Oops! Something went wrong!</strong>";
echo "Error with: " .$cmd;
echo "</div>";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.