2014-02-21 38 views
0

我剛剛開始幫助一個網站,其中有一個管理員部分允許網站所有者輸入要顯示在網站上的文本。使用撇號添加文本時會出現問題,因爲它會打破PHP語句。我已經看過使用mysql_real_escape_string命令,但不確定使用它的最佳方式。原始代碼如下。任何建議都會很棒!插入帶有撇號的文本到MySQL

<textarea name="descr" cols="76" rows="5" id="descr" tabindex="5" onBlur="this.value=removeMSWordChars(this.value);"> 
    <?php echo $data['descr']; ?> 

    </textarea> 
    <script type="text/javascript"> 
     CKEDITOR.replace('descr'); 
    </script> 
    </td> 

回答

1

閱讀Prepared Statements,它們允許你:

  • 讓你的代碼安全對SQL injection攻擊
  • 插入任何字符容易到數據庫中,而無需關心逃逸。

你似乎仍使用MySQL擴展(具有mysql_query):請注意,此擴展已被棄用,並且不支持預處理語句。您應該切換到PDOMySQLi,頂部的鏈接說明如何。

+1

該漫畫並沒有真正添加任何東西給你的答案,尤其是當與新手打交道時。 – Marty

+0

@Marty你可能是對的,刪除它。我認爲這有助於理解危險。 – TimWolla

+0

如果是我的,我會收回那個downvote,不幸的是它不是。 – Marty