Ir para conteúdo

POWERED BY:

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

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por alecram28
      Boa noite. Preciso fazer um select que me retorne os dados desse select:
      hjgnvbcbn
    • Por saholiveira
      Eu tenho duas tabelas. Uma delas é a tabela Propriedade e a outra é a tabela Talhão. O Talhão precisa ser identificado pelo ID da propriedade, portanto, temos uma chave estrangeira. 
      O problema é que, mesmo com o código aparentemente todo correto, eu não consigo inserir nada na tabela Talhão por causa da chave estrangeira. O erro que aparece:
       
      Erro: INSERT INTO talhao (`nome`, `id_propriedade`) VALUES ('A1', '')
      Cannot add or update a child row: a foreign key constraint fails (`teste`.`talhao`, CONSTRAINT `id_propriedade_fk` FOREIGN KEY (`id_propriedade`) REFERENCES `propriedade` (`id_propriedade`) ON DELETE NO ACTION ON UPDATE NO ACTION)
       
      Na verdade, o erro de inserção só ocorre porque aparentemente o mysqli_insert_id não está retornando nada. Quando eu insiro o número da chave estrangeira manualmente, a inserção roda sem erros. A pergunta é: existe alguma outra maneira de recuperar esse id da propriedade para inserir na chave estrangeira de talhão? Já não sei mais o que tentar.
       
      Inserindo dados na tabela propriedade (consigo normalmente, sem erros): 
       
      class PropriedadeDAO { function inserirPropriedadeBD($propriedade) { $nome = $propriedade->getNome(); $endereco = $propriedade->getEndereco(); $telefone = $propriedade->getTelefone(); $conexaobd = new ConexaoBD; $conexao = $conexaobd->conectarAoBD(); $sql = "INSERT INTO propriedade (nome, endereco, telefone) VALUES ('$nome', '$endereco', '$telefone')"; if (!mysqli_query($conexao, $sql)) { echo "Erro: " . $sql . "<br>" . mysqli_error($conexao); }else { $propriedade->setID(mysqli_insert_id($conexao)); // Alteração } }  
      Inserindo dados na tabela talhao: 
       
      class TalhaoDAO { function inserirTalhaoBD($talhao) { $nome = $talhao->getNome(); $idPropriedade = $talhao->getPropriedade(); //Alteração $conexaobd = new ConexaoBD; $conexao = $conexaobd->conectarAoBD(); $sql = "INSERT INTO talhao (`nome`, `id_propriedade`) VALUES ('$nome', '$idPropriedade')"; if (!mysqli_query($conexao, $sql)) { echo "Erro: " . $sql . "<br>" . mysqli_error($conexao); } }  
      A estrutura da tabela talhao está assim: 
       
      CREATE TABLE IF NOT EXISTS `talhao` ( `id_parcela` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(20) NOT NULL, `id_propriedade` int(11) NOT NULL, PRIMARY KEY (`id_parcela`), KEY `id_propriedade_fk` (`id_propriedade`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.