PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Database » DB_DataObject » Bug #602

set_error_handler Cause error

Details

Submitted2004-01-20 05:24 UTC
Fromvalentin at valclip dot com
StatusBogus
PackageDB_DataObject
PHP Version4.3.4
OSLinux Gentoo 1.4
Roadmaps(Not assigned)

Comments

[2004-01-20 05:24 UTC] valentin at valclip dot com

Description:
------------
Hi!
If use for trapping errors a custom function
set_error_handler("eh");

DB_DataObject Dont't work, if not calling a, set_error_handler, the code work fine

Reproduce code:
---------------
<?PHP
$dir = '/home/www/valclip.com/test.excellence/root_test/valclip/app';

require_once "$dir/entities/Users.php";

function eh($a1,$a2,$a3,$a4){
echo $a1 . $a2 . $a3 .$a4;
}
set_error_handler("eh");

// Iniciamos DB_objects
$options = &PEAR::getStaticProperty('DB_DataObject', 'options');
$options = array(
'database' => 'mysql://gen:xxxxx@localhost/ostmart_dat',
'schema_location' => $dir.'/entities',
'class_location' => $dir.'/entities',
'require_prefix' => $dir.'/entities',
'class_prefix' => 'DO_',
);

$user = new DO_Users();
$user->get('1');
echo $user->login;

?>

Expected result:
----------------
Admin

Actual result:
--------------
8 Undefined index: table_users/usr/lib/php/DB/DataObject.php16438U ndefined index: dc4b1e5afa161a556364b1a7067cc04f/usr/lib/php/DB/DataObject.php16548Undefined index: debug/usr/lib/php/DB/DataObject.php16638Undefined index: debug/usr/lib/php/DB/DataObject.php16718Undefined index: debug/usr/lib/php/DB/DataObject.php2578Undefined index: debug/usr/lib/php/DB/DataObject.php3588Undefined index: quote_entities/usr/lib/php/DB/DataObject.php17978Undefined index: quote_entities/usr/lib/php/DB/DataObject.php3688Undefined index: debug/usr/lib/php/DB/DataObject.php17198Undefined index: debug_ignore_updates/usr/lib/php/DB/DataObject.php17308Undefined index: debug/usr/lib/php/DB/DataObject.php17398Undefined index: debug/usr/lib/php/DB/DataObject.php17598Undefined index: debug/usr/lib/php/DB/DataObject.php17768Undefined index: debug/usr/lib/php/DB/DataObject.php3828Undefined index: debug/usr/lib/php/DB/DataObject.php3898Undefined index: debug/usr/lib/php/DB/DataObject.php4438Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4658Undefined index: debug/usr/lib/php/DB/DataObject.php4738Undefined index: debug/usr/lib/php/DB/DataObject.php394Adm

For my original error_handler:

MESSAGE: Undefined index: table_users
FILE: /home/www/valclip.com/test.excellence/root_test/valclip/lib/pear/DB/DataObject.php
LINE: 1644
SOURCE CONTEXT:

1640
1641
1642 if (!$dsn) {
1643 if (!$this->_database) {
1644 $this->_database = @$options["table_{$this->__table}"];
1645 }
1646 if (@$this->_database && @$options["database_{$this->_database}"]) {
1647 $dsn = $options["database_{$this->_database}"];
1648 } else if ($options['database']) {
1649 $dsn = $options['database'];

[2004-01-20 06:37 UTC] valentin at valclip dot com

Ahhh!
My ignorance don't have limit...
I intent trap all errors en my program...
....
if( $errNo == E_ERROR ){
echo "....."
} else {
log('.....');
}

At this time Work Fine!
Thaks !!

This is not a bug