Autor Zpráva
aladin
Profil *
Zdravím,
mám takovej problém,mám PDO,ale chyba je v tom,že pokud nastane nějaká chyba(např výpadek databáze)
tak to vypíše chybu ale s tím,že mě to tam vypíše všechny informace o databázi (root,nick,pass,db)
nevíte někdo jak tomu predejít?
zkoušel jsem tam dát mod ERRMODE_EXCEPTION,ale to samý..
nebo nejlepší by bylo kdyby se ty chyby ukládaly do txt složky třeba err_log bo tak něco,a pokud nastane nějaká chyba tak by to napsalo jen chyba: a kod chyby...
Díky za pomoc

    private static $setting = Array(
        PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT,
        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
    );

    public static function Database($host, $user, $pass, $db) 
    {
        if (!isset(self::$connect)) 
        {
            self::$connect = @new PDO(
                                      "mysql:host=$host;dbname=$databaze",
                                      $user,
                                      $pass,
                                      self::$setting
                                     );
        }
        
    }
Joker
Profil
aladin:
nejlepší by bylo kdyby se ty chyby ukládaly do txt složky třeba err_log bo tak něco
Ano, to je opravdu nejlepší řešení.

Použijte nastavení PHP display_errors a log_errors
Dodatek: A ještě může být zajímavé nastavení error_log, kam se dá uložit název souboru, do kterého se má log ukládat.
pcmanik
Profil
aladin:
Vytvorenie pipojenia cez PDO je potrebné obaliť cez try-catch inak sa práve vypíšu všetky prihlasovacie údaje.
aladin
Profil *
pcmanik:
Jak to myslíš?jako celej ten self:connect?nebo podmínku? nějak jsem to nepochopil jak to myslíš
pcmanik
Profil
aladin:
Ano, celý ten self::connect hod do bloku try-catch.

V dokumentácii je na to aj uvedené varovanie s postupom na ošetrenie.
aladin
Profil *
pcmanik:
aha,tak díky moc:) tohle jsem nevěděl :) vyřešeno

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: