On Fri, 2009-09-11 at 00:19 -0400, Phpster wrote: > Note that this approach has risks around race conditions. Anytime you > have a construct for the id you run the risk of having it create > duplicate ids. You will need to handle that. > > Bastien > > Sent from my iPod > > On Sep 10, 2009, at 6:49 PM, Ben Dunlap <bdun...@agentintellect.com> > wrote: > > >> I assume that I can get increment value/sequence from db (I used > >> harcoded > >> increment value in the code above (generate_id(1))), > >> but I don't know how I can get this incremental value from db.I use > >> mysql > >> 5.0. > > > > If you're thinking of retrieving the newest value of an AUTO_INCREMENT > > column, immediately after inserting a row, there are different ways to > > do this depending on how you're connecting to MySQL. > > > > PDO, for example, has a method called lastInsertId(): > > http://us2.php.net/manual/en/pdo.lastinsertid.php > > > > And the mysql_* family of functions has mysql_insert_id(), etc. > > > > Ben > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > Not if you use the functions built specifically for that, i.e. the ones that Ben mentioned. In no circumstances should you ever do a "SELECT MAX(id) FROM table". I've seen this done so many times by people who should know better, and they even saw no problems when they ran tests (that was, they tested the systems themselves, and only themselves) but then it all fell down as soon as multiple users tried to use it.
Thanks, Ash http://www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php