2012-03-26 47 views
1

我在mysqli中使用了準備語句,如果我將"放入其中一個參數值中,那麼它將轉義它並在其之前添加一個反斜槓。我雖然mysqli沒有這樣做?謝謝。例如:爲什麼mysqli仍然可以逃脫引號?

$comment = $members->prepare("insert into comments(comment) values(?)"); 
$comment->bind_param('s', $_POST['comment']); 
$comment->execute(); 

放\「\」到數據庫中假設註釋字段等於「」

+0

你在一個古老的PHP與AUTOMAGIC報價? – 2012-03-26 01:11:50

+0

大聲笑的PHP版本是5.2.13和託管人是虛擬的 – 2012-03-26 01:15:22

回答

2

您的服務器上可能有魔術引號。點擊這裏查看http://php.net/manual/en/security.magicquotes.php以前發生過這種事,非常煩人。

快速查看

if(get_magic_quotes_gpc()) 
     echo "Magic quotes are enabled"; 
    else 
     echo "Magic quotes are disabled"; 
+0

是的,謝謝他們在:(無論如何,我可以把它們關閉?乾杯 – 2012-03-26 01:17:28

+0

我想我可以使用stripslashes(),但那樣會刪除所有用戶,好於讓他們放在那裏 – 2012-03-26 01:28:51

+0

大多數主機帳戶都允許你在你的主機帳戶的根目錄下創建一個php.ini文件,只需要一行'magic_quotes_gpc = Off',如果沒有,你可以嘗試下面一行。 「htaccess文件 - 」php_flag magic_quotes_gpc關' – nnichols 2012-03-26 01:41:56