1
我想做一個mysql轉儲,當數據庫密碼有「(」或「)」或「& 「 在裏面。可能還有更多,但直到現在我已經用這些角色進行了測試。 我的腳本是:phpmysql轉儲不工作,如果密碼有「(」或「)」或「&」
$un = "user_name_here";
$pass = "gTbK5AQ)iuT";
$hn = "localhost";
$dbn = "database_name_here";
$exp = "export_path_here";
$output = array();
exec("mysqldump --user=$un --password=$pass --host=$hn $dbn > $exp", $output, $worked);
如果$通有腳本不工作「),」在裏面。當我從密碼中刪除「)」時,轉儲工作正常,並按照我的需要以sql格式導出數據庫。 我在做什麼錯誤或密碼不應該有這些字符?
不是。但是想一想,如果從命令行輸入這些字符,命令行中的這些字符將會執行什麼操作。 shell正在處理這些字符 – RiggsFolly
引用密碼值:'exec(「mysqldump --user = $ un --password = \」$ pass \「--host = $ hn $ dbn> $ exp」,$ output ,$工作);' –
只要把整個命令用單引號 – fafl