Funções da MySQL
PHP Manual

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_idObtém o ID gerado pela operação INSERT anterior

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

Descrição

int mysql_insert_id ([ resource $link_identifier = NULL ] )

Obtém o ID gerado para uma coluna AUTO_INCREMENT pela consulta anterior (normalmente INSERT).

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

O ID gerado para uma coluna AUTO_INCREMENT pela consulta anterior em caso de sucesso, 0 se a consulta anterior não gerou um valor AUTO_INCREMENT, ou FALSE se não foi estabelecido conexão com o MySQL.

Exemplos

Exemplo #1 Exemplo mysql_insert_id()

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    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());
?>

Notas

Cuidado

mysql_insert_id() irá converter o tipo de retorno da API nativa em C do MySQL mysql_insert_id() para um tipo long (chamado int no PHP). Se a sua coluna AUTO_INCREMENT for uma coluna do tipo BIGINT (64 bits), a conversão pode resultar em um valor incorreto. Ao invés disto, use a função LAST_INSERT_ID() interna do MySQL em uma consulta SQL. Para mais informações sobre valores máximos de inteiros do PHP, visite a documentação integer.

Nota:

Devido mysql_insert_id() agir sobre a última consulta realizada, tenha certeza de chamar mysql_insert_id() imediatamente após a consulta que gerou o valor.

Nota:

O valor da função SQL do MySQL LAST_INSERT_ID() sempre contém o valor AUTO_INCREMENT mais recentemente gerado e não é reiniciado entre as consultas.

Veja Também


Funções da MySQL
PHP Manual