2010-11-19 2 views
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 продолжают выполнять и блокируя другие запросы от работы, так как он говорит мне, что запросы небуферизованы. Я отказался от использования PDO, потому что это не имело смысла для меня и начало использовать другой ORM под названием Redbean. К сожалению, я снова получаю эту раздражающую ошибку, и я не могу ее исправить, поскольку, по-видимому, Redbean сидит поверх PDO. Когда я использовал PDO, я попробовал установить параметр для включения буферизованных запросов, и это не сработало. Вне моих тестов метод работает нормально, но я не уверен, что это приемлемо.

+0

Если вы хотите, чтобы мы вам помогли, покажите нам код PDO, а не какой-либо другой класс, на который вы написали код вызовов, который использует PDO. В принципе, если вы запускаете запрос, который возвращает результаты, вам нужно получить эти результаты, прежде чем запускать другой запрос, или, по крайней мере, очистить буфер или закрыть соединение. –

+0

Я не знаю, где сам код PDO. Он исчезает где-то в этой третьей стороне ORM. PHP не помогает мне, где. –

+0

О, я вижу, я думал, что это ваши собственные функции. –

ответ

0

Это произошло, когда я переключился на новый сервер. Я никогда не сталкивался с этой проблемой.