Autor Zpráva
.Marián
Profil *
Ahoj, chtěl bych se zeptat, proč tato vyjímka nezachytí chybu při spojení s databází? Pokud vložím tuto vyjímku přímo do index.php tak vše funguje, pokud ale vyjímku vložím do kódu až se opravdu potřebuji připojit tak vyjímka nefunguje. Zadám třeba špatný název databáze a vypíše se chyba "Unknown database..." místo toho aby se vyjímka zachytila, v index.php se vyjímka odchytí v pohodě. Poradí někdo? Děkuji

try {
 $pdo = new \ PDO ( DB_TYPE . ':host=' . DB_HOST . ';' . 'dbname=' . DB_NAME , DB_USER , DB_PASS , [ \ PDO :: MYSQL_ATTR_INIT_COMMAND => "SET NAMES ".DB_CHARSET.";" ] ) ;
 $pdo -> setAttribute ( \ PDO :: ATTR_ERRMODE, \ PDO :: ERRMODE_EXCEPTION ) ;
}
catch ( PDOException $e ) {
 die ('Not connect to MySQL!') ;
}
Alphard
Profil
Není ten kód v nějakém namespace?
.Marián
Profil *
Alphard:
Ano, je, proto je tam to lomítko '\'.
Keeehi
Profil
.Marián:
Ano, je, proto je tam to lomítko '\'.
A proč jsi to lomítko nedal i před PDOException? Takhle to přece hledá třídu PDOException ve tvém namespacu.
.Marián
Profil *
Keeehi:
Nevěděl jsem, že PDOException je název třídy. Už to funguje, děkuji.
Keeehi
Profil
.Marián:
Pokud je mi známo, tak všechny výjimky jsou třídy.

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:

0