使用ThinkPHP框架的时候,在配置文件中设置了全局过滤函数,如下:
'DEFAULT_FILTER'=>'mysql_real_escape_string'
在用户登录里,获取用户名和密码并用mysql_real_escape_string
函数转义,但是返回的值都为空。网上查到一些文章,说是在使用mysql_real_escape_string需要先连接数据库,相关文章:
1.http://stackoverflow.com/questions/19888928/why-mysql-real-escape-stri...
2.http://segmentfault.com/q/1010000000151704
如果说使用mysql_real_escape_string函数,需要先连接数据库,那为什么同样得代码,本地能运行,部署在服务器上就不行了?
使用mysql_real_escape_string函数,必须要先连接数据库,在哪都一样。
上面的写法是(我目前知道的)使用Mysql扩展的最安全的写法。