Jump to content

Archived

This topic is now archived and is closed to further replies.

Tandem

mysql_insert_id()

Recommended Posts

I want to be able to echo the number that the mysql_insert_id() function is producing. What's the best way of keeping the number that it produces, without having to pull it out of the database? (if this is possible)

Any help is appreciated.

Share this post


Link to post
Share on other sites
What do you mean by 'keeping the number'? How long for? And why?

Share this post


Link to post
Share on other sites
Ok here is a theoretical example.

<?

$id = mysql_insert_id();
$query = mysql_query("INSERT INTO BLAH (ID) VALUES ('$id')");
echo "$id";


?>

If i do this it, the echoed $id will be 0. I want to be able to echo the actual number that was put into the database. Is there anyway of doing this without going into the database or would i have to?

Share this post


Link to post
Share on other sites
Guest huey4657
$id = mysql_insert_id();

needs to be after the query

Share this post


Link to post
Share on other sites
Surely that would just produce another 0?

I ended up just doing it from the database, but i would still like to know just for knowledge purposes :P

Share this post


Link to post
Share on other sites
Guest huey4657
mysql_insert_id
(PHP 3, PHP 4 )

mysql_insert_id -- Get the ID generated from the previous INSERT operation

Description
int mysql_insert_id ( [resource link_identifier])

mysql_insert_id returns the ID generated for an AUTO_INCREMENT column by the previous INSERT query using the given link_identifier. If link_identifier isn't specified, the last opened link is assumed.

mysql_insert_id returns 0 if the previous query does not generate an AUTO_INCREMENT value. If you need to save the value for later, be sure to call mysql_insert_id() immediately after the query that generates the value.

Note: The value of the MySQL SQL function LAST_INSERT_ID() always contains the most recently generated AUTO_INCREMENT value, and is not reset between queries.

Warning


mysql_insert_id() converts the return type of the native MySQL C API function mysql_insert_id() to a type of long (named int in PHP). If your AUTO_INCREMENT column has a column type of BIGINT, the value returned by mysql_insert_id() will be incorrect. Instead, use the internal MySQL SQL function LAST_INSERT_ID() in an SQL query.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.