mysql_real_escape_string();
addslashes();
以上两个都是服务器发送的转义字符,都是为了使数据安全的插入到数据库中而进行过滤.那么这两个函数到底是有什么区别呢??
从PHP手册上查看
mysql_real_escape_string – 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集。
注意: mysql_real_escape_string() 并不转义 % 和 _。
addslashes – 使用反斜线引用字符串;返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)。
从手册上看,这两个函数的说明就比较详细了mysql_real_escape_string只是转义链接了服务器的内容,而addslashes是先返回字符串然后再传输
在某些情况来说服务器与数据库链接越少,消耗的资源越少
结论,尽量摒弃mysql的函数,用addslashes函数来转义,减少资源消耗。