Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodney3400

last_insert_id()

Recommended Posts

//Qual a lógica de colocar o valor de LAST_INSERT_ID() em uma variável?

 

$variavel = mysql_query("SELECT LAST_INSERT_ID();");

 

//Assim

 

echo "Variável: ".$variavel;

 

//Isso colocado logo após a query que inseri os dados.

 

Obrigado.

 

Rodney Peixoto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As vezes você vai precisar atualizar uma segunda tabela, com o ID de auto-increment da tabela onde você fez o INSERT. Daí ao invés de você fazer oooooutra consulta, procurando pelos dados que você ACABOU de colocar na database, e daí pegar o ID que a database criou, você vai com LAST_INSERT_ID()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá meu camarada!!

 

 

A função do MySQL LAST_INSERT_ID() retona o última inteiro criado para uma coluna auto_increment de uma tabela. Este inteiro está disponível no cache de memória que o MySQL utiliza para armazenar os valores da coluna auto_increment, assim gerando a sequência. Bom, para que você pegue o útlimo valor que foi gerado para um registro inserido em uma tabela A (exemplo), faça da seguinte forma:

 

 

$sql = "SELECT LAST_INSERT_ID()"; // consulta
$con = mysql_query($sql) or die ("PROBLEMAS COM A CONSULTA; ".mysql_error()); // enviamos a consulta ao SGBD
$res = mysql_fetch_row($con); // recuperamos o que for retornado em um array - $res

echo $res[0];

Lembrando que a fórumla para uma coluna auto_increment (que somente poderá ser criada em uma (1) coluna por tabela e esta deve ser indexada como KEY, UNIQUE ou PRIMARY KEY), será sempre MAX(auto_increment_column) + 1 WHERE prefix=given-prefix.

 

Referência completa, MySQL Reference Manual: http://dev.mysql.com/doc/refman/5.0/en/exa...-increment.html

 

Teste aí e nos dê um retorno!! Abraço... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = "SELECT LAST_INSERT_ID()"; // consulta

$con = mysql_query($sql) or die ("PROBLEMAS COM A CONSULTA; ".mysql_error()); // enviamos a consulta ao SGBD

$res = mysql_fetch_row($con); // recuperamos o que for retornado em um array - $res

 

echo $res[0];

Depois do insert, coloquei isso logo abaixo, e puxei o id, com o id, já criei a pasta onde ficará todas as fotos do cliente, e ficou certinho.

era isso que procurava..

 

Tópico Fechado.

 

Rodney Peixoto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consigo manipular

select last_insert_id();

onde eu coloco o nome da tabela? como o servidor qual tabela eu quero recuperar o id (ou seja lá qual for o nome da coluna)?

tentei algo como:

select last_insert_id(tabela.coluna);
select last_insert_id(tabela);
select last_insert_id() from tabela;

e nada, alguém tem alguma coisa a dizer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atenção

mysql_insert_id () : Se a sua coluna AUTO_INCREMENT tem um tipo de coluna BIGINT (64 bits) a conversão pode resultar em um valor incorreto. Em vez disso, use a função SQL interna do MySQL LAST_INSERT_ID () em uma consulta SQL. Para mais informações sobre os valores máximos inteiros do PHP, veja o inteiro documentação.

fonte: http://php.net/manual/en/function.mysql-insert-id.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.