(PHP 4, PHP 5)
mysql_insert_id — Возвращает идентификатор, сгенерированный при последнем INSERT-запросе
Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для данной функции:
$link_identifier
= NULL): intВозвращает идентификатор, сгенерированный колонкой с AUTO_INCREMENT последним запросом (обычно INSERT).
link_identifier
Соединение MySQL. Если идентификатор соединения не был указан,
используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено,
функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров.
Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING
.
Идентификатор, сгенерированный колонкой с AUTO_INCREMENT
последним запросом в случае успешного выполнения, 0
, если
последний запрос не генерирует значение AUTO_INCREMENT value, и
false
, если соединение MySQL не было установлено.
Пример #1 Пример использования mysql_insert_id()
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Идентификатор последней вставленной записи %d\n", mysql_insert_id());
?>
mysql_insert_id() конвертирует возвращаемый функцией
MySQL C API тип значения функции mysql_insert_id()
в
тип long
(называемый int в PHP).
Если ваша колонка AUTO_INCREMENT имеет тип BIGINT (64 бита), то значение,
возвращаемое функцией в результате преобразования может быть
искажено. Используйте вместо данной функции внутреннюю MySQL-функцию
LAST_INSERT_ID() в SQL-запросе. Подробнее о
максимальных значениях целых чисел смотрите в
разделе документации,
посвящённом целым числам.
Замечание:
Так как mysql_insert_id() работает с последним выполненным запросом, вызывайте mysql_insert_id() сразу же после запроса, генерирующего новое значение.
Замечание:
Значение в SQL функции MySQL
LAST_INSERT_ID()
всегда содержит последний сгенерированный ID и не обнуляется между запросами.