[PHP] Uncertainties about MySQL commands

2001-11-01 Thread TD - Sales International Holland B.V.

Hey list, i'm new to php so bare with me...

got some questions on mysql commands. I'd like to know how the 
mysql_insert_id() function works exactly. 
First of all how reliable is it? What happens this happens:
Table: (ID int unsigned primary key auto_increment, Stuff text, MoreStuff 
text)
(my script)
insert into table values(NULL, bla, bla)
(some other application)
insert into table values(NULL, bleh, bleh)
(my script)
$id = mysql_insert_id

it's not likely that this will happen, but if the site is very/extremely 
crowded it could be that there's an insert right after mine but before me 
callind mysql_insert_id. As you might guess I'd like to know which ID will be 
returned, the one my script created or the one from the other application?

Also what happens if my table is like this:
Table: (Stuff text, ID int unsigned primary key auto_increment, OtherStuff 
text)
Thus having the ID on column 2 instead of 1
or like this
Table: (Bla int unsigned primary key auto_increment, Stuff text, Otherstuff 
text)
Thus the ID not having the name ID
Or like this
Table: (bla int unsigned primary key auto_increment, id int unsigned primary 
key auto_increment, stuff text, otherstuff text)
Thus having 2 auto_increment columns where the 2nd one is called ID (lower 
case).

I'm really uncertain about that and couldn't find it back in the manual 
does it only read the first column? does this column have to be named ID, 
what if ID is another column? what if there is more than 1 auto_increment 
column in the table? what happens if some(one)/(thing) else inserts before 
calling mysql_insert_id.

One more question (pure curiosity this one) the return value from 
mysql_query... is that ever gonna be higher than 1? I assume it can be if the 
insert affects more than 1 line right? Also my book says that the return 
value is TRUE or FALSE for every command except for an INSERT in which case 
it would be 0 on failure and higher on succes. I think that's crap? I'm 
guessing it will also return a number for UPDATE's and REPLACE's is that 
correct? Are there others?

OK just one more thing, this is for the people from troutworks if they're 
monitoring this list. I think the translation of the PHP Bible is 
crap! Please complain about it at the translator. The guy/girl 
managed to translate (quotes)  to (comma's) , and there are a lot of other 
wrongly translated things in there, luckily the examples in there got me on 
the right path again over and over showing that the translation was incorrect 
but it's just confusing like hell. The number of mistakes is unbelievable 
(and i'm NOT talking about spelling errors, I'm talking about messy stuff 
like calling quotes comma's) and I'm 100% certain it was NOT translated by a 
programmer

regards

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP] Uncertainties about MySQL commands

2001-11-01 Thread Jason G.

Regarding your mysql_insert_id() function:

I believe that it works on a connection by connection basis.  Therefore, if 
you execute an insert, and then call that function, you are guarenteed to 
have the correct ID.  Look up the LAST_INSERT_ID() function in the MySQL 
manual on www.mysql.com for more information.

-Jason Garber
IonZoft.com


At 09:22 PM 11/1/2001 +0100, TD - Sales International Holland B.V. wrote:
Hey list, i'm new to php so bare with me...

got some questions on mysql commands. I'd like to know how the
mysql_insert_id() function works exactly.
First of all how reliable is it? What happens this happens:
Table: (ID int unsigned primary key auto_increment, Stuff text, MoreStuff
text)
(my script)
insert into table values(NULL, bla, bla)
(some other application)
insert into table values(NULL, bleh, bleh)
(my script)
$id = mysql_insert_id

it's not likely that this will happen, but if the site is very/extremely
crowded it could be that there's an insert right after mine but before me
callind mysql_insert_id. As you might guess I'd like to know which ID will be
returned, the one my script created or the one from the other application?

Also what happens if my table is like this:
Table: (Stuff text, ID int unsigned primary key auto_increment, OtherStuff
text)
Thus having the ID on column 2 instead of 1
or like this
Table: (Bla int unsigned primary key auto_increment, Stuff text, Otherstuff
text)
Thus the ID not having the name ID
Or like this
Table: (bla int unsigned primary key auto_increment, id int unsigned primary
key auto_increment, stuff text, otherstuff text)
Thus having 2 auto_increment columns where the 2nd one is called ID (lower
case).

I'm really uncertain about that and couldn't find it back in the manual
does it only read the first column? does this column have to be named ID,
what if ID is another column? what if there is more than 1 auto_increment
column in the table? what happens if some(one)/(thing) else inserts before
calling mysql_insert_id.

One more question (pure curiosity this one) the return value from
mysql_query... is that ever gonna be higher than 1? I assume it can be if the
insert affects more than 1 line right? Also my book says that the return
value is TRUE or FALSE for every command except for an INSERT in which case
it would be 0 on failure and higher on succes. I think that's crap? I'm
guessing it will also return a number for UPDATE's and REPLACE's is that
correct? Are there others?

OK just one more thing, this is for the people from troutworks if they're
monitoring this list. I think the translation of the PHP Bible is
crap! Please complain about it at the translator. The guy/girl
managed to translate (quotes)  to (comma's) , and there are a lot of other
wrongly translated things in there, luckily the examples in there got me on
the right path again over and over showing that the translation was incorrect
but it's just confusing like hell. The number of mistakes is unbelievable
(and i'm NOT talking about spelling errors, I'm talking about messy stuff
like calling quotes comma's) and I'm 100% certain it was NOT translated by a
programmer

regards

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]