Re: PEAR difficulties
| From: | Jacob Marble | Date: | Thu, 06 Feb 2003 21:35:52 +0000 |
| Subject: | Re: PEAR difficulties | ||
| References: | 1 2 3 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-3639@lists.php.net to get a copy of this message | ||
Here's what I ended up with:
<?php
// this file is intended to serve as a header
// the following line should be at the top of any page that connects to the
LandEZ database
//$connect = odbc_connect("landez_web","",""); // take note (
"odbc resource
name", "username", "passwd" )
require 'DB.php';
function handle_errors ($error) {
if ( PEAR::isError($error) ) {
echo "An error occurred while running your query.<br>\n";
echo "Error message: " . $error->getMessage() . "<br>\n";
echo "A more detailed error description: " . $error->getDebugInfo() .
"<br>\n";
exit;
}//if
}//function handle_errors ($error)
$dsn = "pgsql://postgres:nileriver@localhost/landez_pds";
$db = DB::connect ($dsn);
handle_errors ($db);
echo get_class($db);//for testing purposes, I'll kill this line later
?>
It works well. Thanks Markus. Thanks everyone!
Jake
"Markus Wolff" <wolff@21st.de> wrote in message
news:20030206214155.F991.WOLFF@21st.de...
On Thu, 6 Feb 2003 13:45:46 -0600 (CST)
Tony Bibbs <tony@tonybibbs.com> wrote:
> well, start by finding out what you got back. add this at the top of
> handle_errors:
>
> echo get_class($error);
> exit;
>
> You should get back a PEAR Error object if it is truly an error...
There´s an easier way. PEAR::DB, like all classes that extend the PEAR
base class, have a built-in method that determines whether an object is
a PEAR_Error object or not, so there´s no need to reinvent the wheel.
Just rewrite your error handler like this:
function handle_errors ($error) {
if (DB::isError($error) {
echo($error->getMessage());
}
}
If the information you get out of getMessage() is not sufficient, you
can also use toString(), which basically provides a dump of all
properties of the error object.
Regards,
Markus
--
Markus Wolff <wolff@21st.de>