1

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

这是处理带有一些调试回显的 SQL 查询(SELECT、UPDATE、DELETE 等)的代码:

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

我知道我需要关闭游标才能在注释所在的位置发出下一个查询但是我不知道我如何尝试存储对变量的调用,但它不会创建适当的 PDO 对象来调用 closeCursor() 。我想我应该准备一些如何能够在 exec 之后关闭光标,但我设计的东西并没有奏效。

4

0 回答 0