手机
当前位置:查字典教程网 >编程开发 >php教程 >PDO版本问题 Invalid parameter number: no parameters were bound
PDO版本问题 Invalid parameter number: no parameters were bound
摘要:今天在处理bug的时候发现某一个很奇怪的问题,在执行某类操作的时候会报:Invalidparameternumber:noparameter...

今天在处理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字段的内容为<a href='http://a.xxx/?tid=1'>test</a>,并且在入库之前表字段的内容会调用PDO->quote方法进行转义。在php5.2.6机子上则报如上错误,但是在5.2.17机子上表现正常。

当我仅仅只是将内容修改为http://a.xxx/?tid=1的时候,在5.2.6机子上和5.2.17机子上均表现正常,于是再次将内容格式调试为<a href="http://a.xxx/?tid=1">test</a>,则5.2.6及5.2.17上均表现正常,看来是单引号惹的祸。

【PDO版本问题 Invalid parameter number: no parameters were bound】相关文章:

Classes and Objects in PHP5-面向对象编程 [1]

如何在PHP中使用Oracle数据库(1)

PHP也可以當成Shell Script

PHP的类 功能齐全的发送邮件类

PHP的FTP学习(二)

用PHP创建PDF中文文档

php转换颜色为其反色的方法

漂亮但不安全的CTB

如何对PHP程序中的常见漏洞进行攻击

将PHP作为Shell脚本语言使用

精品推荐
分类导航