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

Descrição

int mysql_insert_id ([ resource $link_identifier ] )

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

Parâmetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If no connection is found or established, an E_WARNING level error is generated.

Valor Retornado

O ID gerado para uma coluna AUTO_INCREMENT pela consulta INSERT anterior em caso de sucesso, 0 se a consulta anterior não gerou um valor AUTO_INCREMENT, ou FALSE se não foi estabelecida a 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() converte o tipo de retorno nativo da API 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, o valor retornado por mysql_insert_id() será incorreto. Ao invés, use a função SQL interna do MySQL LAST_INSERT_ID() em uma consulta SQL.

Nota:

Devido a 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