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

前端之家收集整理的这篇文章主要介绍了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上均表现正常,看来是单引号惹的祸。

原文链接:https://www.f2er.com/php/26833.html

猜你在找的PHP相关文章