我將數據插入到包含一些基本html標記,雙引號和單引號的表中。將HTML插入數據庫
我現在用的是以下行來處理數據:
htmlentities(($_POST[content]), ENT_QUOTES);
這樣做的問題是,當我選擇這個數據,使其恢復到屏幕上,顯示實際html標籤,而不是渲染的html,也就是說,如果我使用<b>bold</b>
標記,則將其顯示爲文本,而不是將該文本標記爲加粗。如果我不使用上面的線,即
htmlentities(($_POST[content]), ENT_QUOTES);
然後,我不能將數據插入到數據庫中,因爲數據可以包含單引號和雙引號。
我該如何處理這個問題?
所以基本上,我應該能夠將數據插入到單引號或雙引號不會導致問題的數據庫中。當將數據呈現回屏幕上時,它應該呈現html標籤,因爲它們應該呈現在瀏覽器中,並且引用應該在被呈現回屏幕上的文本中顯示爲引號。
我改變了'htmlentities(($ _ POST [內容]),ENT_QUOTES);'到'mysql_real_escape_string($ _ POST [content]);'並且它將一個空白記錄保存到數據庫中,而不是文本我期待它保存...我連接如下:'$ connection = mysql_connect('localhost','user','pass')或die(mysql_error());' – oshirowanen
你的代碼中是否有mysql_connect?如果您遇到問題,請嘗試使用'addslashes'函數。 – DhruvPathak
你是否將內容分配回變量? '$ html = mysql_real_escape_string($ html)'是正確的,但只執行'mysql_real_escape_string($ html)'將不會對$ html變量產生影響 – DhruvPathak