Array
(
)

mysqli_insert_id

PHP
Abraão Almeida
   - 21 mai 2013

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!

Vinicius Machado
   - 01 dez 2013

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:
#CódigoINSERT INTO tabela1 (id_table,login,finalidade,uf) VALUES ('0','$id_login','$finalidade','$uf')

Tente colocar assim:

#CódigoINSERT 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

Vinicius Machado
   - 01 dez 2013

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:
#CódigoINSERT INTO tabela1 (id_table,login,finalidade,uf) VALUES ('0','$id_login','$finalidade','$uf')

Tente colocar assim:

#CódigoINSERT 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