我知道这个错误是由游标保持打开(不消耗所有数据)而产生的。但是,我认为我通过在我的函数中显式关闭光标来适当地解释了这一点。尽管如此,我收到错误消息
SQLSTATE [HY000]:常规错误:2014无法执行查询 其他无缓冲的查询处于活动状态。
具体来说,这是在$ setting == 0时触发的。 我做错了什么?
<?php function selector($dbh, $selectString, &$callnumber, $setting)
{
$callnumber++;
try{
$sth = $dbh->prepare($selectString);
$sth->execute();
if ($setting==0){
$results = $sth->fetch(PDO::FETCH_ASSOC);
$sth->closeCursor();
return $results;
}
else if ($setting==1){
$moduleselect = array();
while ($results = $sth->fetch(PDO::FETCH_ASSOC)) {
$moduleselect[] = $results;
$sth->closeCursor();
}
return $moduleselect;
}
}
catch (PDOException $e) {
echo($e->getMessage());
echo ("ref= ".$callnumber);
$dhh=null;
die();
}
}
?>