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. |
Veja também mysql_query().