mysql_real_escape_string返回false记录补充

参考了http://blog.csdn.net/weixinkaifa/article/details/28611313 这位兄台的博客;


在做一个系统的时候,发现数据库中有个字段经常会出现空的情况,最后查到mysql_real_escape_string这个函数中。

那为什么mysql_real_escape_string会返回false呢?

查手册可以发现其第二个参数是一个数据库的连接标识,当数据库没有连接或失败时,这个函数也会返回false;

并且php发出警告:PHP Warning:  mysql_real_escape_string(): A link to the server could not be established;

那为什么在开发机上测试没问题呢?

假如你的开发机上没有mysql,那么也会返回false;

假如装了mysql,其php.ini里面默认的mysql_connect连接的host是localhost,post是3306,并且username 使用的是服务器进程所有者的用户名(比如我新建了一个test.php,假如我用root来运行这个php,则username 用的就是root;假如我用www来运行这个php,则username使用的是www),password默认为空;(参考php.net的mysql_connect说明)

查看mysql数据库中的user表,里面确实有个localhost,用户名和密码都为空的mysql用户;


后续:

发现运行一段时间后又出现返回false的情况,太奇怪了,能确定最近的Mysql连接是成功的。现在就是直接指定了第二个参数,看效果如何



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值