Re: PEAR difficulties

From: 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>

« previous php.pear.general (#3639) next »