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 #3045

member function on a non-object in Generator.php on line 132

Details

Submitted2004-12-28 17:09 UTC
Fromelf at php dot net
StatusBogus
PackageDB_DataObject
PHP Version4.3.10
OSLinux
Roadmaps(Not assigned)

Comments

[2004-12-28 17:09 UTC] elf at php dot net

Description:
------------
$t will be set to NULL in a start() method.

I use MySQL 4.0.22, PHP 4.3.10, DB 1.6.8, DB_DataObject 1.7.2.

Reproduce code:
---------------
1. I used DDL.
CREATE TABLE `enq_info` (
`ei_id` int(11) NOT NULL auto_increment,
`ei_name` varchar(100) NOT NULL default '',
`ei_info` text NOT NULL,
`ei_admin_name` varchar(100) NOT NULL default '',
`ei_admin_email` varchar(100) NOT NULL default '',
`ei_admin_passwd` varchar(100) NOT NULL default '',
`ei_list_passwd` varchar(100) NOT NULL default '',
`date_create` datetime NOT NULL default '0000-00-00 00:00:00',
`date_update` datetime NOT NULL default '0000-00-00 00:00:00',
`date_public_begin` datetime default NULL,
`date_public_end` datetime default NULL,
PRIMARY KEY (`ei_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
CREATE TABLE `enq_question` (
`eq_id` int(11) NOT NULL auto_increment,
`eq_ei_id` int(11) NOT NULL default '0',
`eq_prio` int(11) NOT NULL default '0',
`eq_name` text NOT NULL,
`eq_type` char(1) NOT NULL default '',
`eq_default` text NOT NULL,
PRIMARY KEY (`eq_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
CREATE TABLE `enq_user` (
`eu_id` int(11) NOT NULL auto_increment,
`eu_name` varchar(100) NOT NULL default '',
`eu_info` text NOT NULL,
`eu_email` varchar(100) NOT NULL default '',
`eu_passwd` varchar(100) NOT NULL default '',
PRIMARY KEY (`eu_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

2.I modified example.ini from Package Example.
database = mysql://validuser:validpass@localhost/validdatabase
schema_location = /home/.../data/db/dataobjects
class_location = /home/.../libs/db/dataobjects
debug = 9

3.Run createTable.php
$ php -Cq /usr/.../createTables.php $PWD/example.ini

Expected result:
----------------
script made ini files and class files.

Actual result:
--------------
db_dataobject_generator : 0 : CREATING FOR validdatabase

db_dataobject_generator : 0 : calling generatedefinitions
PHP Fatal error: Call to a member function on a non-object in /usr/.../Generator.php on line 132

...

I inpected.
In 121 lines.

$t = new $class; <= create instance.
$t->_database_dsn = $database; <= $t's status:object
$t->_database = $databasename; <= $t's status:object
$t->_createTableList(); <= $t's status:object
var_dump($t) <= result:NULL
(snip)
$t->$method(); <= Run NULL::generateDefinitions();!!!

[2004-12-28 17:13 UTC] elf at php dot net

Sorry!!
This bug is duplicated to Bug #3025.