Oznámení
Prefixy v dibi – nefunguje mi to
před 6 lety
- puhy.cz
- Člen | 4
Zdravím.
Mám tady problém s prefixy v dibi. Přijde mi, že to mám podle dokumentace, ale nechodí mi to. Mám tam připojené dvě db.
PHP kód:
$zc = new DibiConnection($udaje_zc);
$ps = new DibiConnection($udaje_ps);
dibi::addSubst('zc', 'zs_');
dibi::addSubst('ps', 'pstest_');
$query_ps=$ps->query('INSERT INTO [:ps:customer]', $ps_customer );\--
tak to hází error.
pokud napíšu přímo
PHP kód:
$query_ps=$ps->query('INSERT INTO [pstest_customer]', $ps_customer );
tak to chodí. Co mám blbě?
Díky moc.
před 6 lety
- Jan Tvrdík
- Nette guru | 2550
Ach jo. Co takhle napsat sem ten error, šmoulíku?
Metoda dibi::addSubst
je zastaralá. Použij
dibi::getSubstitutes()->ps = 'pstest_';
před 6 lety
- puhy.cz
- Člen | 4
No dělá mi to to samý.
test1 Fatal error: Uncaught exception ‚DibiException‘ with message ‚Dibi is not connected to database.‘ in /var/www/clients/client1/web47/web/prevod/dibi.min.php:717 Stack trace: #0 /var/www/clients/client1/web47/web/prevod/dibi.min.php(803): dibi::getConnection() #1 /var/www/clients/client1/web47/web/prevod/prevod.php(29): dibi::getSubstitutes() #2 {main} thrown in /var/www/clients/client1/web47/web/prevod/dibi.min.php on line 717
jakmile zakomentuju
29 dibi::getSubstitutes()->ps = 'pstest_';
30 dibi::getSubstitutes()->zc = 'zs_';
a místo:
$query_ps=$ps->query('INSERT INTO [:ps:customer]', $ps_customer );
dám
$query_ps=$ps->query('INSERT INTO [pstest_customer]', $ps_customer );
tak to funguje.
Co dělám blbě?
před 6 lety
- Jan Tvrdík
- Nette guru | 2550
Řekni mi, prosím tě, co ti není jasné na chybě „Dibi is not connected
to database“? Před voláním getSubstitutes()
musíš být
připojen k databázi.
před 6 lety
- puhy.cz
- Člen | 4
Díky, s dibi začínám, ale přijde mi, že se k databázi připojuju před tím, nebo ne?
$zc = new DibiConnection($udaje_zc);
$ps = new DibiConnection($udaje_ps);
/*dibi::addSubst('zc', 'zs_');
dibi::addSubst('ps', 'pstest_'); */
41 dibi::getSubstitutes()->ps = 'pstest_';
42 dibi::getSubstitutes()->zc = 'zs_';
…
$query_ps=$ps->query('INSERT INTO [:ps:customer]', $ps_customer );
toto hází: Fatal error: Uncaught exception ‚DibiException‘ with message ‚Dibi is not connected to database.‘ in /var/www/clients/client1/web47/web/prevod/dibi.min.php:717 Stack trace: #0 /var/www/clients/client1/web47/web/prevod/dibi.min.php(803): dibi::getConnection() #1 /var/www/clients/client1/web47/web/prevod/prevod.php(41): dibi::getSubstitutes() #2 {main} thrown in /var/www/clients/client1/web47/web/prevod/dibi.min.php on line 717
když to udělám takhle, tak to funguje:
$zc = new DibiConnection($udaje_zc);
$ps = new DibiConnection($udaje_ps);
/*dibi::addSubst('zc', 'zs_');
dibi::addSubst('ps', 'pstest_');
41 dibi::getSubstitutes()->ps = 'pstest_';
42 dibi::getSubstitutes()->zc = 'zs_'; */
…
$query_ps=$ps->query('INSERT INTO [pstest_customer]', $ps_customer );
nechápu co dělám špatně
Editoval puhy.cz (6. 10. 2013 10:12)
před 6 lety
- Jan Tvrdík
- Nette guru | 2550
Jsem přehlédl, že ty od začátku mícháš statický a objektový přístup. To pochopitelně nejde. Správně tedy:
$zc = new DibiConnection($udaje_zc);
$ps = new DibiConnection($udaje_ps);
$zs->getSubstitutes()->zc = 'zs_';
$ps->getSubstitutes()->ps = 'pstest_';
$query_ps=$ps->query('INSERT INTO [:ps:customer]', $ps_customer );
Editoval Jan Tvrdík (6. 10. 2013 11:24)
před 6 lety
- puhy.cz
- Člen | 4
Díky moc, to je ono :-)