mysql_insert_id

(PHP 3, PHP 4 , PHP 5)

mysql_insert_id --  Retorna o ID gerado da operação INSERT anterior

Descrição

int mysql_insert_id ( [resource link_identifier] )

mysql_insert_id() returna o ID gerado para um campo AUTO_INCREMENT pela ultima query INSERT usando o link_identifier dado. Se link_identifier não é especificado, a ultima conexão aberta é usada.

mysql_insert_id() retorna 0 se a query anterior não gerou um valor AUTO_INCREMENT. Se você precisa salvar o valor para depois, tenha certeza de chamar mysql_insert_id() imediatamente depois da query que gerou o valor.

Nota: O valor da função SQL do MySQL LAST_INSERT_ID() sempre contém o mais recente valor AUTO_INCREMENT gerado, e não é reiniciado entre as query.

Atenção

mysql_insert_id() converte o tipo de retorno nativo do MySQL C API mysql_insert_id() para o tipo long (nomeado int no PHP). Se a sua coluna AUTO_INCREMENT tem um tipo BIGINT, o valor retornado por mysql_insert_id() será incorreto. Ao invés, use a função interna SQL do MySQL LAST_INSERT_ID() numa query SQL.

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());
?>

Veja também mysql_query().