微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PDO版本问题 Invalid parameter number: no parameters were bound

今天在处理bug的时候发现某一个很奇怪的问题,在执行某类操作的时候会报:Invalid parameter number: no parameters were bound,但是该问题在本地或是测试机上测试都没有重现,猜想是否和版本有关,于是就google了下,发现http://forum.typecho.org/topic.PHP?id=1501 该文的二楼说道,该问题是版本的bug,在PHP5.2.9以下的pdo中会出现。于是就是找了团队中另外一位同时的机子(5.2.6)做测试,果然重现该问题,他的服务器上5.2.17上测试,该问题没有出现。 在调试的时候,发现出现该类操作的时候有如下业务报以上错误: 用PDO往表nw_log(表字段一些列uid之类的,及content字段)中插入一条数据,其中content字段的内容test,并且在入库之前表字段的内容调用PDO->quote方法进行转义。在PHP5.2.6机子上则报如上错误,但是在5.2.17机子上表现正常。 当我仅仅只是将内容修改为http://a.xxx/?tid=1的时候,在5.2.6机子上和5.2.17机子上均表现正常,于是再次将内容格式调试为,则5.2.6及5.2.17上均表现正常,看来是单引号惹的祸。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐