mysql_insert_id
(PHP 4, PHP 5)
mysql_insert_id — Возвращает идентификатор, сгенерированный при последнем INSERT-запросе
Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
Описание
$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 и не обнуляется между запросами.
Смотрите также
- mysql_query() - Посылает запрос MySQL
- mysql_info() - Возвращает информацию о последнем запросе