Я продолжаю эту проблему с 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, я попробовал установить параметр для включения буферизованных запросов, и это не сработало. Вне моих тестов метод работает нормально, но я не уверен, что это приемлемо.
Если вы хотите, чтобы мы вам помогли, покажите нам код PDO, а не какой-либо другой класс, на который вы написали код вызовов, который использует PDO. В принципе, если вы запускаете запрос, который возвращает результаты, вам нужно получить эти результаты, прежде чем запускать другой запрос, или, по крайней мере, очистить буфер или закрыть соединение. –
Я не знаю, где сам код PDO. Он исчезает где-то в этой третьей стороне ORM. PHP не помогает мне, где. –
О, я вижу, я думал, что это ваши собственные функции. –