Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
estou com um problema ao inserir dados em duas tabelas simultaneamente através do php, sou leiga no assunto ainda, procurei por algumas resposta pelo google mas apenas achei sobre o last_insert_id(); mas em relação ao meu codigo não sei como inserir de uma forma correta e também não sei se seria o certo inserir tudo em um mesmo método ou em dois diferentes, inclusive quando faço em dois metodos diferentes ele indica um erro na linha que contem "$this->conexao= NULL;" e quando apago essa linha no meu primeiro método ele armazena na tabela produto mas não na estoque. por favor se puderem me ajudar to precisando é pra trabalho de curso e não tenho outras fontes ou pessoas para consultar...
//controle.php
case "cadastrar":
$u=new Usuario();
$u->nome=$_POST['nome'];
$u->tipo=$_POST['tipo'];
$u->escala=$_POST['escala'];
$u->quantidade=$_POST['quantidade'];
$u->preco=$_POST['preco'];
$m=new Manipula();
$m->cadastraUsuario($u);
$m->cadastraEstoque($u);
$_SESSION['usuario']= serialize($u);
header("location:../view/resposta.php");
break;
//manipula métodos de cadastro
public function cadastraUsuario($u){
try{
//prepare é uma função erdada ou de herança de PDO, ela prepara para modificar BD
$sql= $this->conexao->prepare(
"insert into produto(id_produto, nome, tipo, escala, quantidade, preco)"
. "values(null,?,?,?,?,?)");
$sql->bindValue(1,$u->nome);
$sql->bindValue(2,$u->tipo);
$sql->bindValue(3,$u->escala);
$sql->bindValue(4,$u->quantidade);
$sql->bindValue(5,$u->preco);
$sql->execute();
$this->conexao=null;
} catch (Exception $e) {
echo "erro ao cadastrar";
}
}
public function cadastraEstoque($u){
$this->cadastraUsuario($u);
try{
//prepare é uma função erdada ou de herança de PDO, ela prepara para modificar BD
$sql= $this->conexao->query(
" insert into estoque(id_setor, nome_setor, quant_setor, id_produto, quantidade)"
. "values(null,?,?,?,?,)");
$sql->bindValue(6,$u->nome_setor);
$sql->bindValue(7,$u->quant_setor);
$sql->bindValue(8,$u->id_produto);
$sql->bindValue(9,$u->quantidade);
$sql->execute();
$this->conexao= null;
} catch (Exception $e) {
echo "erro ao cadastrar";
}
}Carregando comentários...