Autor Zpráva
Fisak
Profil
Dobrý den. Začínám s dibi a rád bych se zeptal jak připojit více db najednou a jak je jednotlivě volat. Podle návodu vím že k jedné se lze připojit pomocí:
dibi::connect(array(
    'driver'   => 'mysql',
    'host'     => 'localhost',
    'username' => 'root',
    'password' => '***',
    'database' => 'test',
    'charset'  => 'utf8',
));
a sql dotaz se zapisuje: "dibi::query('UPDATE `table` SET ', $arr, 'WHERE `id`=%i', $x);".

Jenže bych rád věděl pokud mám např. dvě databáze jak připojit i tu druhou db. A za druhé jak potom psát ty sql dotazy.
Předem děkuji za odpovědi.
Majkl578
Profil
Nejsnáze nepoužíváním statického přístupu. Viz první ukázka v quick startu.
Alternativně, pokud bys statický přístup vyžadoval (nedoporučuji), spojení lze ve statickém registru pojmenovávat (3. argument dibi::connect) a přehazovat (dibi::activate).

Témmma patří do kategorie PHP.
Moderátor Davex: Přesunuto.
mimochodec
Profil
Fisak:
Já bych se jen zeptal. Máš opravdu pádný důvod z jedné aplikace pracovat se třemi databázemi? Už jsem dělal leccos, ale tohle jsem ještě nepotřeboval.
Fisak
Profil
Už svůj systém předělávám na jednu DB a snažím se využít dibi. Jen bych potřeboval trochu infa k dibi. Pokud chci prostý dotaz:

$menu_sql = dibi::query('SELECT * FROM `menu`');
while ($menu_echo=mysql_fetch_assoc($menu_sql)) {

    echo $menu_echo['page'];
    
}

Tak jak toto udělat. A ještě jeden dotaz. Licence u dibi je free i pro komerční účely ?? Předem děkuji za odpovědi :-)
Prochy
Profil
Myslim, že všechny odpovědi najdeš na této stránce http://dibiphp.com/cs/
Fisak
Profil
Prochy:
podle návodu:
$result = dibi::query('SELECT * FROM `menu`');

$assoc = $result->fetchAssoc('id');
echo $assoc;
a nefunguje to :( :( :(
Majkl578
Profil
Fisak:
a nefunguje to :( :( :(
Máš to rozbité.

$assoc je objekt, který nelze vypsat pomocí echo.
Prochy
Profil
Myslim si, že lepší máš použít fetchAll() a navíc je to pole, který echem nemůžeš vypsat, kdyby si nebyl, tak línej, tak by sis ten příklad na stránkách dibi dočetl až do konce.
Fisak
Profil
Prochy:
kdyby si nebyl, tak línej, tak by sis ten příklad na stránkách dibi dočetl až do konce.
kde je na http://dibiphp.com/cs/ něco o echo ??
Prochy
Profil
// iterating
foreach ($result as $n => $row) {
    print_r($row);
}
Fisak
Profil
ok paráda ..
$result = dibi::query('SELECT * FROM `menu`')->fetchAll();

foreach ($result as $n => $row) {
    print_r($row->id);
}



Ještě jeden dotaz... když chci dát např za každý id "<br>" tak jak ?? jelikož print_r($row->id)."<br>"; to nelze...
panther
Profil
Fisak:
ale jde echo '<br>'.

Nechtel bys zacit nekde u zakladu PHP syntaxe?
Fisak
Profil
Paráda :-) děkuju moc všem za pomoc..


panther:
No už sem na programování tak třičtvrtě roku ani nešáhl takže si zase vše musim obnovit :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: