我使用addslashes()
來插入數據。但服務器也自己添加addslashes()
。服務器添加addslashes()本身。我怎樣才能阻止呢?
例如:
$str="jogindersinh's company";
$q="insert into company(company_nm)values(addslashes($str))";
字符串必須在數據庫像jogindersinh's company
插入。
但數據插入到數據庫中,如jogindersinh\'s company
,因爲第二次添加addslashes()
。
所以當我提取數據。獲取結果jogindersinh\'s company
。
那麼如何停止服務器添加addslashes()
?
您是否啓用了魔術引號?什麼'var_dump(get_magic_quotes_gpc());'輸出? –
'addslashes'不應該在你的代碼中。 **請勿使用它**。你需要做[適當的SQL轉義](http://bobby-tables.com/php)。作爲一個說明,通常會導致這個問題的「Magic Quotes」被認爲是一個糟糕的主意,它在PHP 5.4中被刪除。 – tadman
或者更好的是,使用預先準備好的查詢並將變量作爲參數傳遞,那麼您根本不必擔心會進行轉義。 –