我有下面這段代碼一些數據帖到數據庫:PHP轉義編碼報價
$post = trim($post);
$post = htmlentities($post, ENT_QUOTES, null, false);
$statement = "INSERT INTO table (row) VALUES (:message)";
$prepared_posts = $pdo->prepare($statement);
$prepared_posts->execute(array(':message' => $post));
我的MySQL版本5.1.47-community
在本地主機都和分期/生產服務器,但我發現了兩個不同的輸出其中。在本地主機上我正在運行PHP 5.3.2
,生產服務器有PHP 5.2.14
。
如果我想發佈一句話that's "ok"
,在生產上它會保存that\'s \"ok\"
,localhost會生成正確的that's "ok"
。
這可能是什麼原因造成的?它可能是一些MySQL設置?我也嘗試使用mysqli
而不是PDO
,它也做同樣的事情。
感謝您的快速解決方案! – 2010-10-10 17:12:19