Re: My DB_DataObject subclasses are always returning 1 on insert()

From: Date: Wed, 19 May 2004 14:31:31 +0000
Subject: Re: My DB_DataObject subclasses are always returning 1 on insert()
References: 1  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-12609@lists.php.net to get a copy of this message
On 5/19/04 1:59 AM, "Alan Knowles" <alan@akbkhome.com> wrote: > try turning debugging on.. - > DB_DataObject::debugLevel(1); > > it could be that either > a) mysql_last_insertid (or what ever it was) - is returning the wrong number > b) the generator didnt work out that the table has a autoincrement key. > > Regards > Alan I turned on debugging a while ago, but it's not helping me see what is wrong. My db.ini follows: [bug] bug_id = 129 bug_status = 130 bug_title = 130 bug_description = 194 bug_notes = 194 bug_modified = 142 bug_created = 142 [bug__keys] bug_id = N [email] email_id = 129 email_type = 130 email_address = 130 member_id = 129 email_private = 145 [email__keys] email_id = N [member] member_id = 129 member_first_name = 130 member_middle_name = 130 member_last_name = 130 member_suffix = 130 member_gender = 130 member_birth_date = 134 member_block_fap = 145 member_description = 194 member_comments = 194 member_company = 130 member_primary_address_id = 129 member_primary_email_id = 129 member_last_modified = 142 [member__keys] member_id = N Is this where I check to see if the generator has noticed the auto increment stuff? I don't see any kind of useful information in the debug for this. It says when I insert the row: > dataobjects_email: QUERY: INSERT INTO email (email_type , email_address , > member_id , email_private ) VALUES ('Work' , '' , 1 , 0 ) > dataobjects_email: query: QUERY DONE IN 0.015340089797974 seconds > dataobjects_email: 1: Clearing Cache for dataobjects_email > > setting primary email id to point to one of these new emails (1)... In my code I do the insert and assign it's return value to a placeholder var than echo that statement: $new_email_id = $new_email->insert(); echo "<p>setting primary email id to point to one of these new emails ($new_email_id)..."; I've even created isolated scripts to verify this is happening for all my objects, no matter the context. See this example: code: <?php require('config.php'); // Create new member object $member = new DataObjects_Member(); $member->setMember_first_name("Homer"); $member->setMember_middle_name(""); $member->setMember_last_name("Simpson"); $member->setMember_suffix(""); $member->setMember_gender("M"); $member->setMember_birth_date(""); $member->setMember_description("Works in sector 7G."); $member->setMember_company("Springfield Nuclear Power Plant"); $homers_id = $member->insert(); echo "Homer's id is: $homers_id"; ?> Ouput (with debug on): dataobjects_member: QUERY: INSERT INTO member (member_first_name , member_middle_name , member_last_name , member_suffix , member_gender , member_birth_date , member_description , member_company ) VALUES ('Homer' , '' , 'Simpson' , '' , 'M' , '2004-05-19' , 'Works in sector 7G.' , 'Springfield Nuclear Power Plant' ) dataobjects_member: query: QUERY DONE IN 0.0011630058288574 seconds dataobjects_member: 1: Clearing Cache for dataobjects_member Homer's id is: 1 *** Of course looking at the DB his id is much higher. ~ Mike ----- Mike Zornek Web Designer, Media Developer, Programmer and Geek Personal site: <http://MikeZornek.com> New Project: <http://WebDevWiki.com>

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