简体   繁体   English

使用php错误备份mysql数据库

[英]backing up mysql database using php error

Im trying to backup my database using this code:我正在尝试使用以下代码备份我的数据库:

$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>";
}

but it gives me an error of:但它给了我一个错误:

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

I've been trying to fix the query, but it doesn't seem to work.我一直在尝试修复查询,但它似乎不起作用。 My current Xampp control panel is v3.2.2.我当前的 Xampp 控制面板是 v3.2.2。 Is there any problem in the versions?版本有问题吗? How can I fix this?我怎样才能解决这个问题?

The Problem is you try to query your command line.问题是您尝试查询命令行。 Its not a SQL Statement.它不是 SQL 语句。 The rest of the code looks ok其余的代码看起来没问题

$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM