mysql_insert_id
(PHP 4, PHP 5, PECL mysql:1.0)
mysql_insert_id — Obtém o ID gerado pela operação INSERT anterior
Descrição
Obtém o ID gerado para uma coluna AUTO_INCREMENT pela consulta INSERT anterior.
Parâmetros
- link_identifier
-
A conexão MySQL. se o identificador de conexão não for especificado, a ultima conexão aberta por mysql_connect() é assumida. Se uma conexão assim não for encontrada, ela irá tentar criar uma como se a função mysql_connect() fosse chamada sem argumentos. Se uma conexão não for encontrada ou estabelecida, um aviso de nÃvel E_WARNING é gerado.
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
Example#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
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 certesa 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.