php-addslashes, mysql_escape_string, mysql_real_escepe_string

來源:互聯網
上載者:User
參考:

http://hi.baidu.com/catro/blog/item/c9e153e7e40f2f24b9382092.html

http://hi.baidu.com/devel83/blog/item/c367e781f026308af603a6d2.html

http://hi.baidu.com/nathena/blog/item/498655137ec83bd7f6039e06.html

從PHP手冊入手..

手冊上addslashes轉義的字元是單引號(')、雙引號(")、反斜線(\)與 NUL(NULL 字元)。

mysql_real_escape_string轉義的字元並沒有被提到.只是說了一句

注意: mysql_real_escape_string() 並不轉義 % 和 _


直接調用了MySql的C的API.mysql_real_escape_string()..

需要注意的是.這個函數在調用mysql_real_escape_string這個API之前.先是判斷了是否串連上了資料庫

CHECK_LINK(id); //就是這句

所以這就意味著mysql_real_escape_string必須是串連資料庫之後才能使用

以後也就用addslashes好了..暫時可以忘記掉mysql_real_escape_string了

-------------------------

總結一下:

addslashes() 是強行加;

mysql_escape_string不考慮串連的當前字元集。

mysql_real_escape_string()會判斷字元集,但是對PHP版本有要求;函數用於轉義SQL語句中的特殊字元,這個方法必須在串連資料庫之後才能使用。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.