php中 mysql_real_escape_string()和mysql_escape_string()的区别

作者:王炜
日期:2014年09月04日

为了防止数据库的注入攻击,在组织数据库查询语句的时候我们会对用户输入的字符串进行转义。 mysql_real_escape_string()和mysql_escape_string()都可以对用户输入的字符串进行转义。以下是两个函数的异同点:

1.相同点:

两者都可以将查询字符串中的特殊字符进行转义

(能够被转义的字符)

  • \x00
  • \n
  • \r
  • \
  • '
  • "
  • \x1a

(不能被转义的字符)

  • %
  • _
 
2.不同点:
(1)mysql_real_escape_string()
   ( 1)它有两个参数
              
参数string,必需。规定要转义的字符串。
          参数connection,可选。规定 MySQL 连接。如果未规定,则使用上一个连接。
 (2)该函数在转义时会考虑当前数据库链接的字符集,mysql_escape_string()没有该功能

(3)在使用它对查询字符串进行转义之前,必须要先建立数据库连接,否则该函数会一直返回bool(false)

 
(2)mysql_escape_string()只有一个参数string,在使用它之前不需要先建立数据库连接

欢迎转载,转载请保留链接: https://www.phpzu.com/article/2014/09/04/556.html

php中 mysql_real_escape_string()和mysql_escape_string()的区别:等您坐沙发呢!

发表评论

*

code

0