Php 执行后的PDO closeCursor()

Php 执行后的PDO closeCursor(),php,pdo,Php,Pdo,我有一个自定义ORM系统,它基于mysql_uu函数,现在我正在为PDO重写它,但我遇到了“一般错误:2014无法执行查询,而其他未缓冲查询处于活动状态”的问题 下面是处理SQL查询(选择、更新、删除等)的代码,其中包含一些debugin回音: public function query($sql,$mode='exec'){ echo 'Tring Query:'.$sql.'<br>in mode '.$mode.'<br>'; if($mode==

我有一个自定义ORM系统,它基于mysql_uu函数,现在我正在为PDO重写它,但我遇到了“一般错误:2014无法执行查询,而其他未缓冲查询处于活动状态”的问题

下面是处理SQL查询(选择、更新、删除等)的代码,其中包含一些debugin回音:

public function query($sql,$mode='exec'){

    echo 'Tring Query:'.$sql.'<br>in mode '.$mode.'<br>';
    if($mode=='select'){
        echo 'select query inside if<br>';
        try {
        $result=$this->pdo->query($query);
        } catch(PDOException $ex) {
            //error handle
            log::writeLogEntry('PDO error - '.$ex->getMessage());
            return FALSE;
        }   
    }
    else{
        echo 'other query inside else<br>';
        $this->pdo->exec($sql);
        //here I need to close cursor 
        return TRUE;
    }

    return $result;
}
公共函数查询($sql,$mode='exec'){
回显“字符串查询:”.$sql.
在模式中。$mode.
; 如果($mode=='select'){ echo“如果
,则选择内部查询”; 试一试{ $result=$this->pdo->query($query); }捕获(PDO异常$ex){ //错误句柄 log::writeLogEntry('PDO错误-'。$ex->getMessage()); 返回FALSE; } } 否则{ 回显“else内的其他查询
”; $this->pdo->exec($sql); //这里我需要关闭游标 返回TRUE; } 返回$result; }

我知道我需要关闭游标才能发出下一个查询,但我不知道如何存储对变量的调用,但它不会装入适当的PDO对象来调用closeCursor()。我想我应该准备一些如何在exec后关闭光标的方法,但我设计的方法不起作用

整个ORM可以在其当前状态下找到,您的意思是想知道如何关闭光标<代码>$this->closeCursor()