No database selected – proč?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kall_ell
Člen | 13
+
0
-

Ahoj všem. Postupoval jsem podle QS a nastavil jsem si v config.ini production i development pripojení k DB. do bootstramp.php jsem přidal řádek dibi::connect(Environment::getConfig(‚database‘));. Když se ale pokusím cokoliv z DB načíst, tak to zkončí hláškou viz subject. Zkoušel jsem i záměrně zadat neexistující jméno a heslo k db nebo neexistující db do config.ini, ale vždy to zkončilo stejnou hláškou. Poradíte v čem by mohl být zakopaný pes? Připadá mě, že soubor config.ini ignoruje.

Kall Ell

Ondřej Mirtes
Člen | 1536
+
0
-

Řekl bych, že ti v tom poli, které předáváš, chybí klíč database. Můžeš ho sem kdyžtak dumpnout?

kall_ell
Člen | 13
+
0
-

Ondřej Mirtes napsal(a):

Řekl bych, že ti v tom poli, které předáváš, chybí klíč database. Můžeš ho sem kdyžtak dumpnout?

No jsem začátečník a nejsem si jistý, co po mě chceš. Jak mám nastavenou DB jsem psal víš a níže uvádím zatím jediný příkaz, který by měl vrátit seznam skupin z tabulky v DB. Co myslíš tím dumpnout?

public function ukazHlavniMenu()
{
     return dibi::query("SELECT * FROM [seznam_skupin]")->fetchAll('id');
}
norbe
Backer | 405
+
0
-

Zkupíruj sem výpis, který ti vyleze pokud spustíš kód dump(Environment::getConfig(‚database‘));

yetty
Člen | 2
+
0
-

Zrovna jsem na ten samý problém narazil při zkoušení návodu quickstartu. Bylo to v tom, že config.ini jsem měl zkopírován z výchozí struktury, kde místo

[development < production]

je

[development < common]

a tak se potřebné údaje z „production“ nepředávají.

Lighter
Člen | 1
+
0
-

Pokud se mohu přidat, mám ten samý problém, když jsem použil příkaz dump, dostal jsem toto:
Cannot send header after HTTP headers have been sent (output started at C:\xampplite\htdocs\www\Zkousky\TodoList\libs\Nette\Debug.php:191).

<?php
bootstrap.php //část

// Step 3: Configure application
// 3a) get and setup a front controller
$application = Environment::getApplication();
$application->errorPresenter = 'Error';
//$application->catchExceptions = TRUE;
dibi::connect(Environment::getConfig('database'));

config.php //část
[production < common]
; common database connection
database.driver = mysql
database.database = todolist
database.charset = utf8
database.lazy = TRUE
database.host = localhost
database.username = root
database.password = ''


[development < common]
; database options in development mode
database.profiler = TRUE
database.username = root
database.password = ''
?>

Vše jsem jel podle návodu, ani ten problém s tím [development < common] nemám.

Editoval Lighter (30. 6. 2010 21:04)