代码之家  ›  专栏  ›  技术社区  ›  afkbowflexin

当其他无缓冲查询处于活动状态时,PDO无法执行查询

  •  1
  • afkbowflexin  · 技术社区  · 14 年前

    我一直在问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 回复  |  直到 12 年前
        1
  •  0
  •   afkbowflexin    13 年前

    当我切换到一个新服务器时,这个问题就解决了。我从来没发现问题。