Re: DB Exeptions and DataObject

From: Date: Tue, 12 Oct 2004 04:03:12 +0000
Subject: Re: DB Exeptions and DataObject
References: 1 2  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-14864@lists.php.net to get a copy of this message
debug not showing the error has been fixed in CVS (an maybe the last release - I cant remember) Regards Alan Justin Patrin wrote:
On Mon, 11 Oct 2004 16:45:56 +0200 (MEST), kundert@mysunrise.ch <kundert@mysunrise.ch> wrote:
Hi I'v got a big understanding problem with DataObject and Database Exceptions (e.g. Unique Key violation, wrong atribute name and so on). If an exception raise after calling ->find() because of an invalid SQL, no error will occoure, even in debug mode not! The method find() execute the folling statement: $this-_query('SELECT ' . $this-_query['data_select'] . ' FROM ' . ($quoteIdentifiers ? $DB-quoteIdentifier($this-__table) : $this-__table) . " " . $this-_join . $this-_query['condition'] . ' '. $this-_query['group_by'] . ' '.
$this-_query['having']    . ' '.
$this-_query['order_by'] . ' '. In case of an error, _query() returns an Pear Error object, but it goes to nowhere. No error occoure, it looks like the query doesn't return a row, because there is no data. How can I find out, if there was an SELECT error or the query returns no error?
First of all, DB doesn't use Exceptions, it uses PEAR_Error for now. If DB_DataObject isn't handling that error condition maybe it should. But if you really want to see if there are any PEAR errors, set a callback at the beginning of your script. function handlePearError($err) { die($err->getMessage()."<br/>\n".$err->getUserInfo()); } PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handlePearError');


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