Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) não consigo Incluir dados em Tabelas relacionadas


alexclima

Pergunta

Olá Amigos, em Mysql e PHP mas estou me sforçando para aprender, nunca programei então estou levando um couro danado. Bom é o seguinte possuo duas tabelas relacionadas e preciso incluira dados tanto em uma quanto na outra quando faço um cadastro de clientes o que acontece é que meu scrip de php so faz a primeira query a segunda ele não faz. Estou enviando as tabelas:

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

-- Table `estudo`.`Pessoa`

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

CREATE TABLE IF NOT EXISTS `estudo`.`Pessoa` (

`idPessoa` INT NOT NULL AUTO_INCREMENT ,

`nome_pessoa` VARCHAR(45) NULL ,

`senha_pessoa` VARCHAR(45) NULL ,

`cpf_pessoa` VARCHAR(45) NULL ,

`rg_pessoa` VARCHAR(45) NULL ,

PRIMARY KEY (`idPessoa`) )

ENGINE = InnoDB;

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

-- Table `estudo`.`Certificados`

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

CREATE TABLE IF NOT EXISTS `estudo`.`Certificados` (

`idCertificados` INT NOT NULL AUTO_INCREMENT ,

`nome_certificado` VARCHAR(45) NULL ,

`lugar_certificado` VARCHAR(45) NULL ,

`Pessoa_idPessoa` INT NOT NULL ,

PRIMARY KEY (`idCertificados`) ,

INDEX `fk_Certificados_Pessoa` (`Pessoa_idPessoa` ASC) ,

CONSTRAINT `fk_Certificados_Pessoa`

FOREIGN KEY (`Pessoa_idPessoa` )

REFERENCES `estudo`.`Pessoa` (`idPessoa` )

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

e aqui vai o codigo:

<?php
    $operacao = $_POST["operacao"];

    
    if ($operacao=="incluir")
    {
        $nome = $_POST["nome"];
        $senha = $_POST["senha"];
        $cpf = $_POST["cpf"];
        $rg = $_POST["rg"];
        $dia = $_POST["dia"];
        $mes = $_POST["mes"];
        $ano = $_POST["ano"];
        $nascimento = $ano . "-". $mes . "-" . $dia;
        if($nascimento==$ano ."-02-31"){
            echo "Data não existe!";
            echo "<p align=\"center\"><a href=\"pagina_inicial.php\">Voltar</a></p>";
            exit;
            }
        $certificado = $_POST["certificado"];
        $local = $_POST["local"];
    
        $conexao = mysqli_connect ("localhost", "admin", "admin","estudo");
        if (!$conexao) {
            printf("Não consegui conectar ao localhost. Error: %s\n", mysqli_connect_error());
            exit();
        }

        mysqli_autocommit($conexao, FALSE);
        $resultado1 = mysqli_query ($conexao,"INSERT INTO pessoa (nome_pessoa, senha_pessoa, cpf_pessoa, rg_pessoa, Dt_Nascimento_pessoa) VALUES ('$nome','$senha',$cpf,$rg,'$nascimento')");
        
        mysqli_commit($conexao); 
        $id =  mysqli_insert_id($conexao);
        $resultado2 = mysqli_query ($conexao,"INSERT INTO certificados (nome_certificado, lugar_certificado, Pessoa_idPessoa) VALUES ('$certificado','$local',$id)"); 
        mysqli_autocommit($conexao, true);
        
        echo "Cliente incluído com sucesso!";
        echo "<p align=\"center\"><a href=\"pagina_inicial.php\">Voltar</a></p>";
    }
    mysqli_close($conexao);
?>

Desde já agradeço a atenção e ajuda.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

mano, só por via de idenfiticação, porque você não retira os estudo . pessoa?

deixa assim:

-- -----------------------------------------------------
-- Table `Pessoa`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Pessoa` (
`idPessoa` INT NOT NULL AUTO_INCREMENT ,
`nome_pessoa` VARCHAR(45) NULL ,
`senha_pessoa` VARCHAR(45) NULL ,
`cpf_pessoa` VARCHAR(45) NULL ,
`rg_pessoa` VARCHAR(45) NULL ,
PRIMARY KEY (`idPessoa`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Certificados`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Certificados` (
`idCertificados` INT NOT NULL AUTO_INCREMENT ,
`nome_certificado` VARCHAR(45) NULL ,
`lugar_certificado` VARCHAR(45) NULL ,
`Pessoa_idPessoa` INT NOT NULL ,
PRIMARY KEY (`idCertificados`) ,
INDEX `fk_Certificados_Pessoa` (`Pessoa_idPessoa` ASC) ,
CONSTRAINT `fk_Certificados_Pessoa`
FOREIGN KEY (`Pessoa_idPessoa` )
REFERENCES `estudo`.`Pessoa` (`idPessoa` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

ou se por um acaso quizer de qualquer forma, cria as tabelas usando underline _ exemplo: estudo_pessoa

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...