在開發PHP專案中,總是會遇到表單輸入中文字或是特殊字元的情況。
為使用該表單的內容正確的存放到資料庫,必需經過一些處理才可能達成。
1. 首先將特殊字元加上『\』。
EX: 'abc'是一個代號,請相關部門\人員注意。
此段字串存在兩個特殊字元,『'』及『\』。
使用PHP 字串函數:addslashes("'abc'是一個代號,請相關部門\人員注意。"); 將會變成
『\'abc\'是一個代號,請相關部門\\人員注意。』
2. 一昧的使用的addslashes()函數,將會造成『\』的累加。存放此資料多次將會出現這個結果...
『\\\\'abc\\\\'是一個代號,請相關部門\\\\\\\\人員注意。』
為了避免此情況發生。我們可以使用get_magic_quotes_gpc()來判斷處理不必要的『\』。
EX:
echo get_magic_quotes_gpc(); // 1
echo $_POST['lastname']; // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly
if (!get_magic_quotes_gpc()) {
$lastname = addslashes($_POST['lastname']);
} else {
$lastname = $_POST['lastname'];
}
echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
來源-php手冊
留言
張貼留言