2010-11-19 12 views
1

Ich bekomme dieses Problem mit PDO, wo dieser Fehler in meinen Tests auftaucht.PDO Kann keine Abfragen ausführen, während andere ungepufferte Abfragen aktiv sind

<?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()); 

Ich bin mir ziemlich sicher, dass das, was passiert ist, dass das Material in meiner CREATE_SCHEMA Datei aus denen anderen Abfragen auszuführen fort und blockiert, da es mir die Abfragen sind ungepufferte erzählt. Ich wechselte von der Verwendung von PDO, weil dies für mich keinen Sinn ergab und ich begann mit einem anderen ORM namens Redbean. Leider bekomme ich diesen irritierenden Fehler wieder und ich kann es anscheinend nicht beheben, da Redbean anscheinend auf PDO sitzt. Als ich PDO verwendet habe, habe ich versucht, die Option zu aktivieren, gepufferte Abfragen zu aktivieren, und es hat nicht funktioniert. Außerhalb meiner Tests scheint die Methode gut zu funktionieren, aber ich bin mir nicht sicher, ob das akzeptabel ist.

+0

Wenn Sie möchten, dass wir Ihnen helfen, zeigen Sie uns den PDO-Code, nicht eine andere Klasse, die Sie geschrieben haben, die Code aufruft, der PDO verwendet. Wenn Sie eine Abfrage ausführen, die Ergebnisse zurückgibt, müssen Sie diese Ergebnisse abrufen, bevor Sie eine andere Abfrage ausführen oder den Puffer löschen oder die Verbindung schließen. –

+0

Ich weiß nicht, wo der PDO-Code selbst ist. Es verschwindet irgendwo in diesem 3rd Party ORM. PHP sagt mir nicht woher. –

+0

Oh ich sehe, ich dachte, sie wären Ihre eigenen Funktionen –

Antwort

0

Das hat sich behoben, als ich zu einem neuen Server wechselte. Ich habe das Problem nie gefunden.