PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

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