科密明哥
2016-08-11 19:48
没人测试过mysql_real_escape_string()这个函数吗?我测试过了一下,发现insert 和 update都不成功,换成addslashes()就可以。
因为 mysql_real_escape_string()这个函数调用了MySql的C的API.mysql_real_escape_string(),并且在调用这个API之前,先是判断了是否连接上了数据库,所以这就意味着mysql_real_escape_string必须是连接数据库之后才能使用,否则就会报错。
这就是为什么那么多开源的程序比如Discuz用addslashes而不用mysql_real_escape_string了。
我2014年工作时,老板就跟我说这个函数早就废弃了,采用的是bindparam,测试也是很久以前做的,现在基本都用bindparam.
MVC架构模式分析与设计
82400 学习 · 929 问题
相似问题