问答详情
源自:7-5 MySQL操作类之添加数据

mysql_real_escape_string()这个函数正确吗

没人测试过mysql_real_escape_string()这个函数吗?我测试过了一下,发现insert 和 update都不成功,换成addslashes()就可以。

提问者:科密明哥 2016-08-11 19:48

个回答

  • 金泽城
    2017-03-02 14:42:47

    因为 mysql_real_escape_string()这个函数调用了MySql的C的API.mysql_real_escape_string(),并且在调用这个API之前,先是判断了是否连接上了数据库,所以这就意味着mysql_real_escape_string必须是连接数据库之后才能使用,否则就会报错。

    这就是为什么那么多开源的程序比如Discuz用addslashes而不用mysql_real_escape_string了。

  • GrahamHuang
    2016-08-13 16:54:45

    我2014年工作时,老板就跟我说这个函数早就废弃了,采用的是bindparam,测试也是很久以前做的,现在基本都用bindparam.