MySQL
PHP Manual

mysql_insert_id

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_insert_id Возвращает ID, сгенерированный при последнем INSERT-запросе.

Описание

int mysql_insert_id ([ resource $link_identifier ] )

mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу, на который ссылается переданный функции указатель link_identifier . Если параметр link_identifier не указан, используется последнее открытое соединение.

mysql_insert_id() возвращает 0, если последний запрос не работал с AUTO_INCREMENT полями. Если вам надо сохранить значение, убедитесь, что mysql_insert_id() вызывается сразу после запроса.

Замечание: Значение в SQL функции MySQL LAST_INSERT_ID() всегда содержит последний сгенерированный ID и не обнуляется между запросами.

Внимание

mysql_insert_id() конвертирует возвращаемый функцией MySQL C API тип значения функции mysql_insert_id() в тип long int (называемый int в PHP). Если ваша колонка AUTO_INCREMENT имеет тип BIGINT, значение, возвращаемое функцией mysql_insert_id(), будет искажено. Вместо него используйте функцию SQL LAST_INSERT_ID().

Пример #1 Пример использования mysql_insert_id()

<?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
"Could not connect: " mysql_error());
    
mysql_select_db("mydb");

    
mysql_query("INSERT INTO mytable (product) values ('kossu')");
    
printf ("Last inserted record has id %d\n"mysql_insert_id());
?>

См. также mysql_query().


MySQL
PHP Manual