A community in which webmasters can ask for help with topics such as PHP coding , MySQL , IT jobs, web design, IT security.
Current location:homephp forumphp talk in 2009 yearPossible PDOException Errors (MySQL 5)? - page 1
User InfoPosts
Possible PDOException Errors (MySQL 5)?#1
So I(m setting up an installer for my web app, and have input fields for database credentials. Part of my validation process includes testing the database connection (using PHP(s PDO library). If the connection fails, I want to be able to differentiate between a bad password, bad address, nonexistent database name, etc. so I can reference the proper input field on the form.

Can anone point me towards a reference that outlines the possible error codes/messages that are returned with a PDOException?

Edit: It occurred to me that these error codes/messages are probably database-specific and the native database codes/errors may simply be getting passed through. If this is the case, I am currently only working with MySQL 5 databases.

posted date: 2009-04-13 09:19:00

Re: Possible PDOException Errors (MySQL 5)?#2
I had made out the solution of this problem. click to view my topic...

hope that hepls.

posted date: 2009-04-13 09:19:01

Re: Possible PDOException Errors (MySQL 5)?#3
I(m not sure about PDO, but you can use the mysql_error() function which returns something like this:Access denied for user youruser@yourserverUnable to select database...etcYou could then display these errors directly to the user, or play around to get a list of all possible errors, and determine the cause of the error directly.

posted date: 2009-04-13 09:42:00

Re: Possible PDOException Errors (MySQL 5)?#4
The MySQL documentation is the complete reference for error codes.Error codes starting at 1000 are server errors. These include errors like:Error: 1045 SQLSTATE: 28000 (ER_ACCESS_DENIED_ERROR)Message: Access denied for user (%s(@(%s( (using password: %s)Error: 1049 SQLSTATE: 42000 (ER_BAD_DB_ERROR)Message: Unknown database (%s(Error codes starting at 2000 are client errors. These include errors like:Error: 2005 (CR_UNKNOWN_HOST) Message: Unknown MySQL server host (%s( (%d)Error: 2003 (CR_CONN_HOST_ERROR) Message: Can(t connect to MySQL server on (%s( (%d)I(m not going to list all possible errors, because they(re already documented, and I don(t know which ones you need to handle. For instance, errors 2001 and 2002 are specific to UNIX socket connections, which may be irrelevant to your target platform.Don(t forget to use PDO::errorCode() and PDO::errorInfo() instead of simply the PDOException message.Re your comment about getCode() -- No, it doesn(t seem to be supported in that way. I did a quick test, to var_dump() a PDOException. Unfortunately, its code is simple "0" even though the error code and SQLSTATE are included in the exception message.Exception::getCode() is part of the base Exception class, as of PHP version 5.1.0. It(s up to the respective PDO driver implementation to utilize this object field. At least for the MySQL driver, they apparently didn(t.

posted date: 2009-04-13 09:46:00

Re: Possible PDOException Errors (MySQL 5)?#5
Does PDOException::getCode() return the same code as PDO::errorCode() ?

posted date: 2009-04-13 09:53:00

Re: Possible PDOException Errors (MySQL 5)?#6
According to php.net/manual/en/… the PDO->getCode() method should return the SQLSTATE error code.

posted date: 2013-03-19 06:20:00

select page: « 1 »
Copyright ©2008-2017 www.momige.com, all rights reserved.