Home » Database » DB_DataObject » Bug #3045
member function on a non-object in Generator.php on line 132
Details
| Submitted | 2004-12-28 17:09 UTC |
|---|---|
| From | elf at php dot net |
| Status | Bogus |
| Package | DB_DataObject |
| PHP Version | 4.3.10 |
| OS | Linux |
| 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.