Mysql
 sql >> база данни >  >> RDS >> Mysql

Възможни PDOException грешки (MySQL 5)?

Документацията на MySQL е пълната справка за кодове за грешки .

Кодовете за грешки, започващи от 1000, са сървърни грешки . Те включват грешки като:

  • Грешка:1045 SQLSTATE:28000 (ER_ACCESS_DENIED_ERROR )Съобщение:Достъпът е отказан за потребител '%s'@'%s' (използвайки парола:%s)

  • Грешка:1049 SQLSTATE:42000 (ER_BAD_DB_ERROR )Съобщение:Неизвестна база данни '%s'

Кодовете за грешки, започващи от 2000, са клиентски грешки . Те включват грешки като:

  • Грешка:2005 (CR_UNKNOWN_HOST ) Съобщение:Неизвестен хост на MySQL сървър '%s' (%d)

  • Грешка:2003 (CR_CONN_HOST_ERROR ) Съобщение:Не мога да се свържа с MySQL сървър на „%s“ (%d)

Няма да изброявам всички възможни грешки, защото те вече са документирани и не знам с кои трябва да се справите. Например грешките 2001 и 2002 са специфични за връзките на UNIX сокет, което може да не е от значение за вашата целева платформа.

Не забравяйте да използвате PDO::errorCode() и PDO::errorInfo() вместо просто PDOException съобщение.

Повторете коментара си относно getCode() -- Не, изглежда не се поддържа по този начин. Направих бърз тест за var_dump() PDOException . За съжаление, неговият код е прост "0", въпреки че кодът за грешка и SQLSTATE са включени в съобщението за изключение.

Изключение::getCode() е част от базовото Exception клас, от версия на PHP 5.1.0. От съответната реализация на PDO драйвер зависи да използва това поле на обекта. Поне за драйвера на MySQL очевидно не са го направили.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python копира MySQL таблицата в SQLite3

  2. Подобрете MySQL заявката с IN подзаявка

  3. Как да изберете две колони като една?

  4. Изтриване на таблици с mysqli_multi_query()

  5. Моите Sql сливащи редове