Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
mysql_insert_id
(PHP 3, PHP 4, PHP 5)
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()
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());
Пример получения id следующей дабавляемой записии автоинкрементного поля
Внимание! В многопользовательской системе Вы рискуете получить id, который будет занят раньше Вас.
function nextId($tablename){
if($row=mysql_fetch_assoc(mysql_query("SHOW TABLE STATUS LIKE '$tablename'")))return intval($row['Auto_increment']);
return 0;
}
$id=nextId('myTable');
echo $id;
Смотрите также mysql_query().
Все функции mysqlОписание на ru2.php.net
Описание на php.ru