mysqli_insert_id

21/05/2013

0

PHP

Olá, pessoal. Boa tarde a todos!

Preciso de um HELP de vocês.

Tive que criar um formulário enorme para os clientes se cadastrarem no site. Porém, esse formulário está indo para duas tabelas diferentes no banco de dados.

É executado a primeira query na tabela 1. Após isso, pega o id dela, esse id que está como autoincrement na tabela 1 e a cadastrada com uma segunda execução com o restante dos dados na tabela 2. Mas, essa id, da tabela 1, chega ao seu campo correspondente na tabela 2 como 0, zero, somente.

Alguém pode me dar uma ajuda no que devo fazer?

Abaixo vão os códigos que estou utilizando:

$sql_cadastra = "INSERT INTO tabela1 (id_table,login,finalidade,uf) VALUES ('0','$id_login','$finalidade','$uf')";

$query_cadastra = mysqli_query($conn,$sql_cadastra) or die(mysqli_error());

#captura o último id cadastrado na tabela achequarto_anunciante
$ultimo_id = mysqli_insert_id($conn);


#insere as informações na tabela 2
$sql_cadastra_2 =
"INSERT INTO
tabela2 (id_tabela2,id_tabela1,numero,ocupacao)VALUES('0','$ultimo_id','$numero_moradores','$ocupacao_moradores'";

$query_cadastra_2 = mysqli_query($conn,$sql_cadastra_2) or die(mysqli_error());


Valeu pela ajuda pessoal!
Abraão Almeida

Abraão Almeida

Responder

Posts

01/12/2013

Vinicius Machado

Olá amigo, entendo pouquíssimo de PHP e MysQl, mas pelo que entendi do seu código, apesar de estar como autoincremental, vc esta enviando o valor "0" para o id dês uma tabela 1::

Como esta:
INSERT INTO tabela1 (id_table,login,finalidade,uf) VALUES ('0','$id_login','$finalidade','$uf')


Tente colocar assim:

INSERT INTO tabela1 (login,finalidade,uf) VALUES ('$id_login','$finalidade','$uf')


Como ele incrementa automaticamente o id da tabela, vc nao precisa enviar essa informação para MySql

Se o id da tabela 2 tb for assim, faça o mesmo para INSERT, deixando apenas o campo id_tabela1 para ser inserido

Abs
Responder

01/12/2013

Vinicius Machado

Olá amigo, entendo pouquíssimo de PHP e MysQl, mas pelo que entendi do seu código, apesar de estar como autoincremental, vc esta enviando o valor "0" para o id dês uma tabela 1::

Como esta:
INSERT INTO tabela1 (id_table,login,finalidade,uf) VALUES ('0','$id_login','$finalidade','$uf')


Tente colocar assim:

INSERT INTO tabela1 (login,finalidade,uf) VALUES ('$id_login','$finalidade','$uf')


Como ele incrementa automaticamente o id da tabela, vc nao precisa enviar essa informação para MySql

Se o id da tabela 2 tb for assim, faça o mesmo para INSERT, deixando apenas o campo id_tabela1 para ser inserido

Abs
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar