PDO在其他未缓冲的查询处于活动状态时无法执行查询

时间:2010-11-19 23:23:58

标签: php orm simpletest

我一直在用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,因为这对我来说没有意义,并开始使用一个名为Redbean的不同ORM。不幸的是,我再次遇到这个恼人的错误,我似乎无法修复它,因为显然Redbean位于PDO之上。当我使用PDO时,我尝试设置选项以打开缓冲查询,但它不起作用。在我的测试之外,该方法似乎工作正常,但我不确定这是否可以接受。

1 个答案:

答案 0 :(得分:0)

当我切换到新服务器时,这会自行修复。我从来没有发现过这个问题。