• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

neverzinho

Inserir em várias tabelas ao mesmo tempo

4 mensagens neste tópico

Boas,

Neste momento estou com um problema no meu projecto em PHP.

Estou a utilizar BD's SQL e precisava de inserir dados em duas tabelas a partir do mesmo form.

Já tentei assim:

$ligax = mysqli_connect('localhost', 'never', 'qwerty'); 

	if(!$ligax) {echo '<p> Erro: Falha da ligação' ; exit; }

	mysqli_select_db($ligax , 'sunwell'); 

	$insere="insert into produtosencomendas values ('".$codpro."','".$codenc."','".$quantidade."','".$preco."')"; 
	$insere2="insert into encomenda (CodigoEncomenda,CodigoCliente,CodigoEmpregado,DataVenda,Pagamento) values ('".$codenc."','".$codclt."','".$codemp."','".$datavenda."','".$pagamento."')";

	$result=mysqli_query($ligax , $insere, $insere2); );

	if($result==1) {echo "<p> Dados inseridos <br />" ;}
	else "<p> Dados nao inseridos <br>";

Mas apenas introduz o primeiro insert.

Depois experimentei assim

mysqli_connect('localhost', 'never', 'qwerty');
	 mysqli_select_db($ligax , 'sunwell');
	 mysqli_query("insert into produtosencomendas (CodigoProduto,CodigoEncomenda,Quantidade,Preco) values ('".$codpro."','".$codenc."','".$quantidade."','".$preco."')");
	 mysqli_query("insert into encomenda (CodigoEncomenda,CodigoCliente,CodigoEmpregado,DataVenda,Pagamento) values ('".$codenc."','".$codclt."','".$codemp."','".$datavenda."','".$pagamento."')");

Mas dá um erro de parâmetros.

Sou novo em PHP mas já tenho alguma experiência noutras linguagens.

Será que alguém me consegue iluminar?

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

"Mas dá um erro de parâmetros." logo, vê o que se passa com os parâmetros ;) Qual o erro ao certo que dá? Tens experiência em que outras linguagens de programação?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas um dos problemas é que estás a meter o segundo parametro do mysqli_query como sendo uma string ( outra query )

POdes usar por exemplo                $result1=mysqli_query($ligax , $insere); +  $result2=mysqli_query($ligax , $insere2); ou  $result1=mysqli_query($ligax , $insere.';'.$insere2); <- este não sei se funfa

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quanto ao segundo caso o problema pode ser por não estares a definir a resource referente a ligação actual, como podemos ver em  http://pt2.php.net/mysqli_query mixed mysqli_query ( mysqli $link , string $query [, int $resultmode ] )

e não como estas a fazer que deve ser representado algo como sendo fatal error mysqli_query ( string $query)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora