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

2015-01-24信息快讯网

发现在客户的某个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上均表现正常,看来是单引号惹的祸。

PHP session_start()问题解疑(详细介绍)
Apache实现Web Server负载均衡详解(不考虑Session版)
如何在Ubuntu下启动Apache的Rewrite功能
如何解决CI框架的Disallowed Key Characters错误提示
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
解决FastCGI 进程超过了配置的活动超时时限的问题
服务器变量 $_SERVER 的深入解析
关于php循环跳出的问题
关于php 接口问题(php接口主要也就是运用curl,curl函数)
file_get_contents("php://input", "r")实例介绍
浅析Apache中RewriteCond规则参数的详细介绍
浅析php面向对象public private protected 访问修饰符
PHP操作MongoDB GridFS 存储文件的详解
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
$_GET['goods_id']+0 的使用详解
php 生成唯一id的几种解决方法
php中存储用户ID和密码到mysql数据库的方法
Fine Uploader文件上传组件应用介绍
PHPEXCEL 使用小记
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Could not load type System.ServiceModel.Activation.HttpModule解决办法
php5.3中连接sqlserver2000的两种方法(com与ODBC)
php读取EXCEL文件 php excelreader读取excel文件
php excel reader读取excel内容存入数据库实现代码
利用php实现禁用IE和火狐的缓存问题
PHP C EasyUI DataGrid 资料存的方式介绍
PHP C EasyUI DataGrid 资料取的方式介绍
PHP类与对象中的private访问控制的疑问
php类中private属性继承问题分析
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
域名和cookie问题(域名后缀)
php生成局部唯一识别码LUID的代码
header跳转和include包含问题详解
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
PHP通过session id 实现session共享和登录验证的代码
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
©2014-2024 dbsqp.com