sql >> Databáze >  >> RDS >> Mysql

Možné chyby výjimek PDO (MySQL 5)?

Dokumentace MySQL je kompletní referencí pro chybové kódy .

Chybové kódy začínající na 1000 jsou chyby serveru . Patří mezi ně chyby jako:

  • Chyba:1045 SQLSTATE:28000 (ER_ACCESS_DENIED_ERROR )Zpráva:Přístup odepřen uživateli '%s'@'%s' (s použitím hesla:%s)

  • Chyba:1049 SQLSTATE:42000 (ER_BAD_DB_ERROR )Zpráva:Neznámá databáze '%s'

Chybové kódy začínající na 2000 jsou chyby klienta . Patří mezi ně chyby jako:

  • Chyba:2005 (CR_UNKNOWN_HOST ) Zpráva:Neznámý hostitel serveru MySQL '%s' (%d)

  • Chyba:2003 (CR_CONN_HOST_ERROR ) Zpráva:Nelze se připojit k serveru MySQL na '%s' (%d)

Nebudu vypisovat všechny možné chyby, protože jsou již zdokumentovány a já nevím, které z nich musíte řešit. Například chyby 2001 a 2002 jsou specifické pro připojení soketu UNIX, což může být pro vaši cílovou platformu irelevantní.

Nezapomeňte použít PDO::errorCode() a PDO::errorInfo() místo jednoduše PDOException zprávu.

Znovu svůj komentář k getCode() -- Ne, nezdá se, že by to bylo podporováno tímto způsobem. Udělal jsem rychlý test na var_dump() PDOException . Bohužel je jeho kód jednoduchý "0", i když chybový kód a SQLSTATE jsou zahrnuty ve zprávě o výjimce.

Výjimka::getCode() je součástí základní Exception třídy, od verze PHP 5.1.0. Je na příslušné implementaci ovladače PDO, zda toto pole objektu využije. Alespoň u ovladače MySQL to zjevně neudělali.



  1. Export dat MySQL do Excelu v PHP

  2. Vyberte více součtů pomocí dotazu MySQL a zobrazte je v samostatných sloupcích

  3. Existuje v databázích Oracle nějaký booleovský typ?

  4. Řešení nesprávného kódování znaků při zobrazování výsledků databáze MySQL po upgradu na PHP 5.3