2012-11-05 88 views
0

我用這個代碼做什麼是: 我要求用戶選擇一個備份來恢復(檢查) 當用戶點擊「提交」按鈕將文件移動到服務器的本地地毯(支票) 我致電系統函數來調用到的mysql.exe還原SQL文件是在本地服務器(問題就在這裏)用PHP恢復Mysql數據庫?

<?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 < C:/WAMP/WWW/Backups/respaldo.sql「到一個Windows外殼它恢復備份沒有任何問題,任何幫助?..謝謝

----編輯---

問題是,當我調用系統函數時,它不執行恢復任務,數據庫保持爲空。

+1

當前是什麼問題呢? – Jocelyn

+0

我編輯了問題 –

+0

您沒有訪問PhpMyAdmin或直接數據庫連接? 以這種方式恢復數據庫非常簡單。 –

回答

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");