note 52889 deleted from function.mysql-affected-rows by nlopess
| From: | nlopess@php.net | Date: | Tue, 17 May 2005 12:59:38 +0000 |
| Subject: | note 52889 deleted from function.mysql-affected-rows by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-89541@lists.php.net to get a copy of this message | ||
Note Submitter: jabhijit at gmail_REMOVETHIS_ dot com
----
I am a general user of PHP and Mysql, not an expert. But I am having following problem:
we have two tables called
Users(uID, uName)
Users_Groups (gID, uID, isAdmin)
uID is Autoincreament in Users and Foreign key in UserGroups table.
I am using transactions to insert a new user into User Table and immediately insert into
Users_Groups during the same transaction. It is an atomic operation. This happens in the same PHP
script. I tried using use mysqli and old mysql_ calls. This transcation works well when I execute
in an IDE like mysqlControl Center. But in the PHP script.
It does not go through Here is the PHP Pseudocde
Begin
SET FOREIGN_KEY_CHECKS = 0
Insert into Users Table
If (sucessful) Then
Retrieve userid = mysql_insert_id
Insert into Users_Groups values(gID, userid, 0)
if (sucessful) Then
COMMIT
else
ROLLBACK
SET FOREIGN_KEY_CHECKS = 1
In this case I am able to retrieve and print the inserted mysql_insert_id for Users table but when I
try to insert it into the Users_Groups table it fails and ROLLS-BACK. My guess is it fails the
Foreign key constraint even though I SET FOREIGN_KEY_CHECKS = 0.
Any ideas why this may be happening? Please let me know.
Thank you in advance,
Abhi