2010-11-19 27 views
1

Bu sorunun PDO ile devam etmesini sağlıyorum, burada bu hata testlerimde kırpılıyor.PDO Diğer arabelleğe almayan sorgular etkinken sorgular yürütülemiyor

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

ne oluyor benim create_schema dosyasında şeyler yürütmek devam ve bana söyler sorguları tamponsuz olduğundan başka sorguların çalışmasını engellediğini olduğundan eminim. PDO kullanmaktan vazgeçtim çünkü bu bana mantıklı gelmedi ve Redbean adlı farklı bir ORM kullanmaya başladı. Ne yazık ki, bu rahatsız edici hatayı tekrar alıyorum ve görünüşe göre, Redbean PDO'nun tepesinde oturduğu için bunu düzeltemiyorum. PDO kullandığımda, arabellek sorgularını açma seçeneğini belirledim ve çalışmadı. Testlerimin dışında, yöntem iyi çalışıyor gibi görünüyor, ama kabul edilebilir olduğuna emin değilim.

+0

Size yardım etmemizi isterseniz, PDO kodunu kullandığınız başka bir sınıf değil, PDO kodunu gösteriniz. Temel olarak, sonuçları döndüren bir sorgu çalıştırırsanız, başka bir sorguyu çalıştırmadan veya en azından arabelleği temizlemeden veya bağlantıyı kapatmadan önce bu sonuçları almanız gerekir. –

+0

PDO kodunun nerede olduğunu bilmiyorum. Bu 3. parti ORM'de bir yerlerde kayboluyor. PHP, bana nerede olduğunu söylemiyor. –

+0

Oh Gördüğüm gibi, kendi fonksiyonlarınız olduğunu düşündüm –

cevap

0

Yeni bir sunucuya geçtiğimde, bu durum düzeltildi. Asla problemi bulamadım.