1
私のテストでこのエラーが発生するPDOでこの問題が引き続き発生します。PDO他のバッファリングされていないクエリがアクティブな間にクエリを実行できません
<?php
require_once('simpletest/unit_tester.php');
require_once('simpletest/reporter.php');
require_once('../model.php');
class TestOfCallMapper extends UnitTestCase {
function testOfReturnsAll() {
}
function setUp() {
R::setup("mysql:host=localhost;dbname=poo", root, '');
$this->destroySchema();
$this->createSchema();
}
function tearDown() {
$this->destroySchema();
}
private function createSchema() {
R::exec(file_get_contents('../database/create_schema.sql'));
}
private function destroySchema() {
R::exec(file_get_contents('../database/destroy_schema.sql'));
}
}
$test = new TestOfCallMapper('Test of CallMapper Methods');
$test->run(new HTMLReporter());
私は何が起こっていることは私のcreate_schemaファイル内のものは実行し続け、それはクエリがバッファなしていると言われますので、実行しているから、他のクエリをブロックしていることであることを確信しています。私はこれが私にとって意味をなさず、Redbeanと呼ばれる別のORMを使い始めたので、PDOの使用をやめました。残念ながら、私はこの刺激的なエラーを再び受けています。私はそれを修正するように見えることはできません。明らかにRedbeanがPDOの上に座っているからです。 PDOを使用したときに、私はバッファリングされたクエリを有効にするオプションを設定しようとしましたが、うまくいきませんでした。私のテストの外では、このメソッドは正常に動作するようですが、私はそれが受け入れられるかどうかは確かではありません。
PDOを使用するコードを記述した他のクラスではなく、PDOコードを表示してください。基本的に、結果を返すクエリを実行する場合は、別のクエリを実行する前に結果を取得するか、少なくともバッファをクリアするか、接続を閉じる必要があります。 –
PDOコード自体がどこにあるのか分かりません。このサードパーティORMのどこかで消えます。 PHPは役に立ちません。 –
ああ、私は自分自身の機能だと思った。 –