php-addslashes, mysql_escape_string, mysql_real_escepe_string

WBOY
풀어 주다: 2016-06-23 14:36:06
원래의
1016명이 탐색했습니다.

参考:

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语句中的特殊字符,这个方法必须在连接数据库之后才能使用。

 

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿