Ir para conteúdo

Arquivado

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

dimitrikx

Inserir em 2 tabelas

Recommended Posts

Ola pessoal , como voces fazem no php para inserir em duas tabelas que estão ligadas.

Eu ainda sou Nb em php, estou fazendo de uma forma horrivel, queria corrigir todas minhas querys .

 

Vou dar um exemplo de como as faços, sem alguem quizer me dizer outra forma , fico muito grato:

 

Tabelas :

 

Usuarios(codUsuarios,login,senha)

 

e

 

Pessoal(codPessoal,nome,email,tel,codUsuarios)

 

Sendo CodPessoal -> autoincrementa.

Sendo CodUsuarios - > autoincrementa

 

-----------------------------------------------------------

 

Eu faço mais ou menos assim:

 

$sql = mysql_query("insert into usuarios(login='$login',senha='$senha'))";

 

$sql2 = mysql_query('select * from usuarios where (login='$login' )and (senha='$senha'))";

 

$num_linhas = mysql_num_row(sql2);

 

for($i=0;$i<$num_linhas;i++){

$dados = mysql_fetch_row($sql2);

$CodUsuarios = $dados[0];

$ Login = $dados[1];

$Senha = $dados[2];

 

//vai retorna o codusuarios pois eu nao o tinha até adicionar e fazer um select para busca-lo

$sql = mysql_query(nome = '$nome',email= '$email',tel= '$tel',codUsuarios = '$CodUsuarios'");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faço assim;

 

-- inicia uma transação

insert tabela1 values(....);

insert tabela2 values(....);

insert tabela3 values(....);

 

att:

Tullius

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao da pra você inserir por partes?

 

inseri tabela 1

 

select para buscar o cod do usuario ai usando a variavel dele

 

insere tabela 2

 

uhum ate eu to perdido agora , risos.

 

 

 

att:

Tullius

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode dar 2 inserts numa instrução só.Tem que fazer assim:

mysql_query('BEGIN;');
mysql_query('INSERT INTO blá,blá,blá');
mysql_query('INSERT INTO blá,blá,blá');
e não se esqueça de dar o commit/rollback pra gravar as transações:

tudo acima deu certo:

mysql_query('COMMIT'); // grava
ou se houve algum erro:

mysql_query('ROLLBACK'); //desfaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido ?

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.