採取我要帶我的數據庫日常備份,我用下面的代碼的MySQL備份(.sql文件)的單引號和雙引號如何逃避被使用mysqldump
$username =escapeshellcmd($dbuser);
$password =escapeshellcmd($dbpwd);
$hostname =escapeshellcmd($server);
$database =escapeshellcmd($dbname);
$backupFile='/mypath/dbBackup/'.date("Y-m-d-H-i-s").'.sql';
$command = "mysqldump -u$username -p$password -h$hostname $database > $backupFile";
system($command, $result);
我把這個代碼php文件並通過cron作業調用該文件,我設置爲每日進行數據庫備份。這工作正常,但問題是我的表中的列包含有單引號和雙引號的內容。因爲這是創建備份文件時(.SQL文件),它包含了破INSERT這樣的查詢
INSERT INTO `mytable` VALUES (1,'don\'t read this article','test\'ssdf','',1,5,6,0),(2,'goal setting tips you\'d want to try','Category- ' ....
那麼,有沒有辦法同時使用mysqldump來逃避.SQL備份文件,這些單引號和雙引號。
該查詢不會破壞我的... –
Au反向,反斜槓** unbreak **查詢。他們*是*轉義報價。 – deceze
如果SQL語法讓你感到困惑,也可以使用'mysqldump --xml'。 – mario