40
mysqli::$insert_id, mysqli_insert_id
110
The mysqli_insert_id function returns the ID generated by a query on a table with a column having the
AUTO_INCREMENT attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified
table does not have a column with the AUTO_INCREMENT attribute, this function will return zero.
Note
Performing an INSERT or UPDATE statement using the LAST_INSERT_ID()
function will also modify the value returned by the mysqli_insert_id function.
Parameters
link
Procedural style only: A link identifier returned by mysqli_connect or
mysqli_init
Return Values
The value of the AUTO_INCREMENT field that was updated by the previous query. Returns zero if there was
no previous query on the connection or if the query did not update an AUTO_INCREMENT value.
Note
If the number is greater than maximal int value, mysqli_insert_id will return a
string.
Examples
Example 3.57 $mysqli->insert_id example
Object oriented style
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TABLE myCity LIKE City");
$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);
printf ("New Record has id %d.\n", $mysqli->insert_id);
/* drop table */
$mysqli->query("DROP TABLE myCity");
/* close connection */
$mysqli->close();
?>
Procedural style
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");