Ir para conteúdo

Arquivado

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

Carcleo

[Resolvido] ultimo id inserido

Recommended Posts

Pessoal. Boim dia!

 

passei recentementre a conectar o mysql com mysqli connect em vez de mysql conect.

 

Quando fazia uma insert no banco e queria recuperar o ultimo id inserido, usava assim:

$insert= $conexao->query($insert_pedidos_clientes_string);
$ultimo_id = mysql_insert_id();

Mas agora como passei a usar mysqli, como seria a forma correta para retornar o ultimo id inserido?

 

A query ainda é a mesma.

$insert= $conexao->query($insert_pedidos_clientes_string);
$ultimo_id = $insert->insert_id();

Tentei assim mas não deu certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

basta dar uma olhada no manual:

http://ca.php.net/manual/pt_BR/mysqli.insert-id.php

mysqli_insert_id -- mysqli->insert_id — Retorna o id gerado automaticamente na última consulta

 

manual da class:

http://ca.php.net/mysqli

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei assim:

$insert= $conexao->query($insert_pedidos_clientes_string);
$ultimo_id =$insert->insert_id;

Mas dá o seguinte retorno

Notice: Trying to get property of non-object in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\chinelospuff.com.br\CarrinhoFinal_Conteudo.php on line 118

Linha 118 é a chamada ao insert_id

A gravaçao no banco vai normal mas, o ultimo id não consigo recuperar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está fazendo da forma errada, no manual explica bem a situação.

Você pega o último id inserido na conexão, e não no insert. Logo, seu código deve ser:

$insert = $conexao->query($insert_pedidos_clientes_string);
$ultimo_id = $conexao->insert_id;

 

O valor retornado na variável $insert é apenas um boolean. Especificação no manual:

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

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.