2014-02-19 75 views
0

我正在開發核心php5中的CMS,我在其中添加頁面,如WordPress。在mysql數據庫中存儲頁面內容

但實際問題是,頁面內容包含特殊字符,如單引號('),它不能被插入到mysql數據庫中。

我用PDO

http://pk1.php.net/manual/en/pdo.prepare.php 

也是這個功能

$add_to_database = mysql_real_escape_string($contents) 

,但仍然問題是一樣的,當我取在前面內容的特殊字符的創建問題,

請幫我

謝謝

+1

您看起來並沒有真正閱讀PDO附帶的文檔,也沒有研究任何有關如何使用PDO和「準備好的語句」的示例。使用PDO正確的方式,您不必使用'mysql_real_escape_string()'手動轉義內容,PDO將以更安全的方式處理這一問題。 – arkascha

+0

你可以發佈你的插入代碼?如果你還沒有解決這個問題。 –

回答

1

base64_encode是最好的解決辦法,我認爲

$contents = base64_encode($_POST['page_contents']); 

查詢將被

INSERT INTO your_table VALUES('".$contents ."'); 

獲取

$page_contents = mysql_fetch_array($contents); 

echo base64_decode($page_contents['content']); 
+0

爲什麼需要'base64encode()''content'?當然,你可以插入任何內容到一個MySQL數據庫沒有。 – arkascha

+0

我正在尋找這個,謝謝Engr Zardari – Hunarman

+0

@Hunarman歡迎! –

1

當你有2種途徑之一就是HTML實體,另一種使用BASE64_ENCODE

$contents = htmlentities($_POST['page_contents']); 
$contents = base64_encode($_POST['page_contents']);