PDO:unbufferred查询错误

时间:2016-01-03 17:10:38

标签: php mysql pdo

我知道这个错误是由游标保持打开(不消耗所有数据)而产生的。但是,我认为我通过在我的函数中显式关闭光标来适当地解释了这一点。尽管如此,我收到错误消息

  

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();
                            }

                        }
?>

0 个答案:

没有答案