用PHP恢复Mysql数据库?

时间:2012-11-05 00:18:49

标签: php mysql windows

我对此代码的处理方式是: 我要求用户选择要恢复的备份(检查) 当用户点击“提交”按钮时,将文件移动到服务器的本地地毯(检查) 我调用System函数调用mysql.exe来恢复本地服务器中的sql文件(这里有问题)

<?php

if($_FILES['enviar']){
$file_name="Respaldo.sql";
move_uploaded_file($_FILE['enviar']['tmp_name'],"Backups/$file_name");
$batche=system("C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test < C:/WAMP/WWW/Backups/respaldo.sql");
echo $batche;

}
?>

如果我将这个“C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test&lt; C:/WAMP/WWW/Backups/respaldo.sql”复制到windows shell中它恢复备份没有任何问题,任何帮助?...谢谢

---- --- EDIT

问题是当我调用系统函数时它没有执行恢复任务,数据库仍然是空的。

1 个答案:

答案 0 :(得分:0)

$batche=system("C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test < C:/WAMP/WWW/Backups/respaldo.sql");

而不是上面的代码,您将按如下所示替换:

$batche=**shell_exec** ("C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test < C:/WAMP/WWW/Backups/respaldo.sql");