Saudações a todos,
As vezes quando temos uma tabela no banco de dados com um campo definido como AUTO_INCREMENT, precisamos recuperar esse valor logo após o INSERT (por diversos motivos).
Para isso não basta fazer uma consulta para recuperar o maior valor (MAX) do campo na tabela pois uma outra pessoa pode já ter feito um INSERT após o seu e o valor que o SQL retornará estará incorreto.
Para solucionar esse problema no PHP é bem fácil, utilizamos a função mysql_insert_id().
Ela retorna o ID gerado por um campo de auto incremento do consulta INSERT anterior.
Por exemplo, vou inserir um registro em uma tabela chamada pedidos e, após isso, exibir qual foi o número do pedido gerado:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Não foi possível conectar: ' . mysql_error());
}
mysql_select_db('mydb');
$sql = 'INSERT INTO pedidos (item, valor) VALUES (2, 200.25)';
mysql_query($sql);
echo 'Número do pedido: ' . mysql_insert_id();
?>
Espero ter ajudado, qualquer dúvida poste um comentário ou me envie um e-mail (deixei meu e-mail disponível no meu perfil do blog).
Abraços.
Links relacionados:
segunda-feira, 17 de novembro de 2008
Assinar:
Postar comentários (Atom)


0 comentários:
Postar um comentário