|
Posted by Andy Hassall on 01/26/06 23:00
On 26 Jan 2006 12:55:40 -0800, opt_inf_env@yahoo.com wrote:
>I would like to insert a data (row) into database (MySQL) and than to
>generate file whose name contains the ID of the inserted row (ID is
>declared as AUTO_INCREMENT). I wanted to extract ID by
>mysql_insert_id() function. However, the problem is that my web site
>can visit many users and many of them can initiate the describe
>procedure. It can happen that between the first user inserts something
>into database and executes mysql_insert_id, the second user also insert
>something into database. And in this way the mysql_insert_id initiated
>by the first user will return ID of insert-operation initiated by the
>second user. If it is possible, how one can avoid this problem?
mysql_insert_id() is connection specific, and MySQL connections aren't shared
between concurrent PHP requests, so this avoids the condition you describe.
--
Andy Hassall :: andy@andyh.co.uk :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
Navigation:
[Reply to this message]
|