PDO::errorCode Fetch the error code associated with the last operation on the database handle Description intPDO::errorCode &warn.experimental.func; Returns an integer value that maps to the generic error categories defined in the PDO_ERR_* set of constants. PDO::errorCode only retrieves error codes for operations performed directly on the database handle. If you create a PDOStatement object through PDO::prepare or PDO::query and invoke an error on the statement handle, PDO::errorCode will return PDO_ERR_NONE. You must call PDOStatement::errorCode to return the error code for an operation performed on a particular statement handle. Determining which category of error occurred exec("INSERT INTO bones(skull) VALUES ('reagan')"); echo "\nPDO::errorCode(): "; switch ($dbh->errorCode()) { case PDO_ERR_NONE: echo "No error!\n"; break; case PDO_ERR_CANT_MAP: echo "Error: Unable to map data types between database and PHP.\n"; break; case PDO_ERR_SYNTAX: echo "Error: incorrect syntax\n"; break; case PDO_ERR_CONSTRAINT: echo "Error: The request would violate a constraint.\n"; break; case PDO_ERR_NOT_FOUND: echo "Error: The object could not be found.\n"; break; case PDO_ERR_ALREADY_EXISTS: echo "Error: The object already exists.\n"; break; case PDO_ERR_NOT_IMPLEMENTED: echo "Error: The requested function is not implemented.\n"; break; case PDO_ERR_MISMATCH: echo "Error: mismatch\n"; break; case PDO_ERR_TRUNCATED: echo "Error: The value was truncated because the input value was longer than the maximum column length.\n"; break; case PDO_ERR_DISCONNECTED: echo "Error: The connection to the requested database has been closed.\n"; break; } ?> ]]> &example.outputs;