Php 执行后的PDO closeCursor()
我有一个自定义ORM系统,它基于mysql_uu函数,现在我正在为PDO重写它,但我遇到了“一般错误:2014无法执行查询,而其他未缓冲查询处于活动状态”的问题 下面是处理SQL查询(选择、更新、删除等)的代码,其中包含一些debugin回音: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==
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()代码>