Description
In case of failure, most of the DB functions return a
DB_Error object which contains information about
the error. DB_Error offers the same functions
as PEAR_Error.
The text messages returned by DB_Error::getMessage()
are consistent between each DBMS.
The error code integers returned by DB_Error::getCode()
are also consistent between each DBMS. The integers returned are based
on the DB_ERROR_* constants defined in
DB.php.
DB_Error::getDebugInfo() and
DB_Error::getUserInfo() return complete
native DBMS error reports.
Example 33-1. Trapping errors and determining what happened <?php
require_once 'DB.php';
$db =& DB::connect('pgsql://wronguser:badpw@localhost/thedb');
if (PEAR::isError($db)) {
/*
* This is not what you would really want to do in
* your program. It merely demonstrates what kinds
* of data you can get back from error objects.
*/
echo 'Standard Message: ' . $db->getMessage() . "\n";
echo 'Standard Code: ' . $db->getCode() . "\n";
echo 'DBMS/User Message: ' . $db->getUserInfo() . "\n";
echo 'DBMS/Debug Message: ' . $db->getDebugInfo() . "\n";
exit;
}
?> |
|