tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Dibi a nefunkční elapsedtime

před 6 lety

rossini
Člen | 26

Dobrý den,
mám projekt, kde používám Dibi, nicméně bez frameworku jako takového. Dibi mi perfektně šlape, dotazy z DB vrací, vše se zdá ok. Jediné, co mě trápí, je nefunkčnost dibi::$elapsedTime; Vrací null i po úspěšném dotazu. P5emýšlím, jestli není příčinou moje autoload funkce. Nic jiného mě nenapadá. Nemáte prosím někdo nějaký nápad?

function autoloadFunkce($trida)
{
    if ((mb_strlen($trida) >= mb_strlen("Controller")) && (mb_strpos($trida, "Controller", mb_strlen($trida) - mb_strlen("Controller"))) !== false)
        require(API_PATH."controllers/" . $trida . ".php");
    else
        require(API_PATH."models/" . $trida . ".php");
}

spl_autoload_register("autoloadFunkce");

před 6 lety

Milo
Nette Core | 1119

Elapsed time se počítá pouze se zapnutým profilerem.

$conf = array(
    'driver' => '....',
    'host' => '....',
    ...
    'profiler' => TRUE,
);

před 6 lety

rossini
Člen | 26

No, to je právě zvláštní, ale mám to tak…

dibi::connect(array(
    'driver'   => 'mysql',
    'host'     => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'database' => 'test',
    'charset'  => 'utf8',
    'profiler' => TRUE,
));

před 6 lety

Milo
Nette Core | 1119

Jaká verze Dibi? Ráno jsem to zkoušel na posledním dev masteru a funguje mi to.

před 6 lety

rossini
Člen | 26

Mám taky poslední verzi. Je to zvláštní, protože query a ostatní věci normálně jede… Něco jsem někde dojebal :( Ale ověřil jsem si, že když někde mám chybu, to okno (resp. debug bar) tam normálně „plavě“ se všemi údaji, jak jsem zvyklý… Ale když to proběhne OK, není v tom okně nic…

Editoval rossini (18. 10. 2013 15:05)

před 6 lety

rossini
Člen | 26

Můžete prosím ověřit někdo toto:

<?php

require_once 'dibi-master/dibi/dibi.php';

    dibi::connect(array(
        'driver'   => 'mysql',
        'host'     => 'localhost',
        'username' => 'root',
        'password' => '***',
        'database' => 'test',
        'charset'  => 'utf8',
        'profiler' => TRUE,
    ));

    dibi::fetchSingle('SELECT * FROM [table]');

    var_dump(dibi::$elapsedTime); // Vrací NULL

?>

Asi by to nemělo vracet NULL, což mě vrací :) Mám poslední master verzi Dibi.

Editoval rossini (18. 10. 2013 20:41)

před 6 lety

rossini
Člen | 26

Naprosto otevřeně říkánm, že chyba byla na mé židli :D … Před produkcí jsem si omylem zakomentoval laděnku…