tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

ked ma nepripoji na db, vypise to mysql login… :(

před 10 lety

Kukosk
Člen | 8

caute vsetci.

Da sa s tym nieco robit ? v pripade ze mam mysql offline alebo tak, vypise mi prihl.meno do html, coz nie je moc dobre :(… napise ze:

Fatal error: Uncaught exception ‚DibiDriverException‘ with message ‚Access denied for user 'test‘@'localhost' (using password: YES)' in /data/web/**********.sk/web/include/dibi/drivers/mysql.php:113 Stack trace: #0

a este to pokracuje …

před 10 lety

vlki
Člen | 218

Zdravím,

to je hrubá chyba aplikace, když ti někde vybublá nezachycená výjimka. Zkus si o nich něco přečíst.

Vzhledem k tomu, že dibi všechny chyby z db obalí do výjimky, měl bys nejlépe vše mít v try-catch bloku. A případě, že to jede někde, kde nechceš, aby byly takového výjimky vidět, tak je nejlepší výjimku zalogovat někam, kde si ji později budeš moci přečíst a vypsat něco ve stylu „Stalo se něco špatně“.

try {
    // some dibi connecting/querying
} catch(DibiException $e) {
    // some exception logging

    // e.g. the Nette\Debug way...
    Debug::exceptionHandler($e);

    die('Stalo se něco špatně');
}

Doporučuji v tomto ohledu využít Nette Framework, který se ti o to postará skoro automaticky. Nebo aspoň Laděnku, která má v moci právě to logování pod Nette.

před 10 lety

Kukosk
Člen | 8

nie nie … nevyhodilo mi to zatial ani raz, to je v pohode, len sa bojim o to, ze ked mi dakedy padne na serveri mysql db, tak sa dozvedia moj login do db … aj ked v podstate heslo asi nemaju ako zistiti ze ?

před 10 lety

Tomik
Nette Evangelist | 489

Kukosk napsal(a):

nie nie … nevyhodilo mi to zatial ani raz, to je v pohode, len sa bojim o to, ze ked mi dakedy padne na serveri mysql db, tak sa dozvedia moj login do db … aj ked v podstate heslo asi nemaju ako zistiti ze ?

Pokud to máš ošetřené, jak radí kolega vlki výše, výjimka nebude nikdy zobrazena, tedy nikdo nic nezjistí, pokud to tak ošetřené nemáš, je to velká bezpečností chyba aplikace.