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

 更新时间:2013年01月06日 15:09:54   转载 作者:  
发现在客户的某个PHP版本下,执行某类操作的时候,总是会报如下错误 Invalid parameter number: no parameters were bound,经google,发现是php版本过低导致

今天在处理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上均表现正常,看来是单引号惹的祸。

相关文章

  • PHPExcel简单读取excel文件示例

    PHPExcel简单读取excel文件示例

    这篇文章主要介绍了PHPExcel简单读取excel文件的方法,结合实例形式简单分析了PHPExcel针对Excel文件的读取操作技巧,需要的朋友可以参考下
    2016-05-05
  • php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值

    php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返

    end() 函数将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)。
    2011-10-10
  • PHP实现递归的三种方法

    PHP实现递归的三种方法

    这篇文章主要介绍了PHP实现递归的三种方法,文中讲解非常详细,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • php文件缓存方法总结

    php文件缓存方法总结

    这篇文章主要为大家详细介绍了php文件缓存方法,内容如很详细,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • php通过COM类调用组件的实现代码

    php通过COM类调用组件的实现代码

    COM(Component Object Model)组件对象模型,是一种跨应用和语言共享二进制代码的方法。COM可以作为DLL被本机程序载入也可以通过DCOM被远程进程调用
    2012-01-01
  • 解析PHP工厂模式的好处

    解析PHP工厂模式的好处

    本篇文章是对PHP工厂模式的好处进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 浅析关于PHP位运算的简单权限设计

    浅析关于PHP位运算的简单权限设计

    本篇文章是对PHP位运算的简单权限设计进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP中开启gzip压缩的2种方法

    PHP中开启gzip压缩的2种方法

    这篇文章主要介绍了PHP中开启gzip压缩的2种方法,本文介绍了php配置文件与开启方法、php文件开启方法,需要的朋友可以参考下
    2015-01-01
  • PHP与MySQL开发的8个技巧小结

    PHP与MySQL开发的8个技巧小结

    LAMP 架构的网站,我以前注重的多是安装/配置方面的,讲述开发的相对较少,因为自己从事开发也少。看了以后,颇有启发,以前开发中遇到的一些问题,迎刃而解。所以翻译出来和大家共享。
    2010-12-12
  • php模块memcache和memcached区别分析

    php模块memcache和memcached区别分析

    谈及php搭配memcached使用,已经是老生常谈的问题。但是有一些细节,不见得人人清楚。比如说php的模块memcache和memcached有什么区别等。下面我就简单介绍一下。
    2011-06-06

最新评论