#1 9527
今天使用speedphp框架时,发现如下语句无法正确处理$sql='SELECT * FROM t1 LIMIT :offset,:pagesize';
一开始以为是框架问题,但网上搜索后发现是pdo的bug,pdo无法正确处理limit参数中的占位符!
网上也给出了解决办法网上方法
我照着网上方法,把框架中的execute方法中大概300行处修改如下
//解决pdo不能处理limit占位符bug这样就可以了,希望老大也把框架中这个问题修复下
foreach($params as $k=>&$v){
if(is_bool($v)){
$data_type=PDO::PARAM_BOOL;
}elseif(is_int($v)){
$data_type=PDO::PARAM_INT;
}elseif(is_null($v)){
$data_type=PDO::PARAM_NULL;
}else{
$data_type=PDO::PARAM_STR;
}
$sth->bindParam($k, $v,$data_type);
}
2016-06-10 15:55:42