Manual do PHP
Anterior |  | Próxima

# mysql_insert_id

(PHP 3, PHP 4 )

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 mysql_connect("localhost", "mysql_user", "mysql_password") or die("Não pude conectar: " . mysql_error()); mysql_select_db("mydb"); mysql_query("INSERT INTO mytable (product) values ('kossu')"); printf ("O ultimo registro incluído tem id %d\n", mysql_insert_id()); ?>`

Veja também mysql_query().

Anterior | Principal | Próxima
mysql_info | Acima | mysql_list_dbs