mysql_ 関数に基づくカスタム ORM システムを持っています。現在、PDO 用に書き直していますが、「一般エラー: 2014 他のバッファリングされていないクエリがアクティブな間はクエリを実行できません」という問題があります。
これは、いくつかの debugin エコーで 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の後にカーソルを閉じることができるようにする方法をいくつか準備する必要があると思いますが、私が考案したものは8倍も機能しませんでした。