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

(Resolvido) Não insere dados na tabela após mysqli_query


PhoenixWings

Pergunta

Eu estou tentando inserir dados de um formulário numa tabela mas não estou conseguindo (é retornado -1 para linhas afetadas):

PHP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastro</title>
</head>
<body>
  <?php
     $nome = $_POST["nome"];
     $endereco = $_POST["endereco"];
     $numero = $_POST["numero"];
     $complemento = $_POST["complemento"];
     $pais = $_POST["pais"];
     $cidade = $_POST["cidade"];
     $cep = $_POST["cep"];
     $ddi = $_POST["ddi"];
     $ddd = $_POST["ddd"];
     $telefone = $_POST["tel"];
     $convidados = $_POST["convidados"];
     $comentario = $_POST["comentario"];
     $estado = '';
     $eventos = '';
     $erro = 0;
     
     if(empty($nome) or strstr($nome, ' ') == false or is_numeric($nome))
     {
        echo "Por favor, insira o seu nome corretamente.<br>";
        $erro = 1; 
     }
     
     if(empty($endereco) or is_numeric($endereco))
     {
        echo "Insira o endereço corretamente.<br>";
        $erro = 1;
     }
     
     if(empty($numero) or is_numeric($numero) == false)
     {
        echo "Insira o número da rua corretamente.<br>";
        $erro = 1; 
     }
     
     // if para o caso do convidado ter inserido o complemento
     if(is_numeric($complemento))
     {
        echo "Insira  o complemento corretamente.<br>";
        $erro = 1;
     }
     
     if($_POST["pais"] == "selecao1")
     {
        echo "Selecione o seu país.<br>";
        $erro = 1; 
     }
     
     if($pais == "brasil")
     {
        $estado = $_POST["estado"];
     
        // o estado só será considerado se o país for Brasil
        if($_POST["estado"] == "selecao2")
        {
          echo "Selecione o seu estado.<br>";
          $erro = 1; 
        }
     }
     
     if(empty($cidade) or is_numeric($cidade))
     {
        echo "Insira a cidade corretamente.<br>";
        $erro = 1;
     }
     
     if(empty($cep) or is_numeric($cep) == false)
     {
         echo "Insira o cep corretamente.<br>";
         $erro = 1;
     }
     
     if(empty($ddi) or is_numeric($ddi) == false)
     {
         echo "Insira o DDI corretamente.<br>";
         $erro = 1;
     }
         
      if(empty($ddd) or is_numeric($ddd) == false)
     {
         echo "Insira o DDD corretamente.<br>";
         $erro = 1;
     }
      
     if(empty($telefone) or is_numeric($telefone) == false)
     {
         echo "Insira o número de telefone corretamente.<br>";
         $erro = 1;
     }
     
     if(empty($convidados) or is_numeric($convidados) == false)
     {
         echo "Insira o número de convidados corretamente.<br>";
         $erro = 1;
     }
     
     // verifica se algum evento foi selecionado
     if(!(isset($_POST["evento"])))
     {
         echo "nenhum evento foi selecionado. Por favor, selecione pelo menos um evento.<br>";
         $erro = 1;    
     }
     
     else
     {
         // o usuário selecionou algum evento
         foreach($_POST["evento"] as $evento)
         {
           $eventos .= "$evento "; 
         }
     }
     
     // se não houve nenhum erro, inicia operação de inserção dos dados
     if($erro == 0)
     {
         
         include "conectacasamentos.inc";
         
         // juntar DDI, DDD e telefone para comporem um número único de telefone.
         $tel = $ddi . $ddd . $telefone;
         $resultado = mysqli_query($conexao, "INSERT INTO amigafrancesa VALUES ('$nome', '$endereco', '$numero', '$complemento', '$pais', '$estado', '$cidade', '$cep', '$tel', '$convidados', '$comentario', '$eventos')"); 
         $linhas = mysqli_affected_rows($conexao);
         echo "número de linhas afetadas: $linhas<br>";
         //echo "É um prazer tê-lo(a) em nossa festa.";
     }
     mysqli_close($conexao); 
  
  ?>

</body>
</html>

Editado por PhoenixWings
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

*FIT* muito obrigado! não conhecia esse comando die(mysqli_error($conexao)); ao usá-lo, o PHPMyAdmin acusou que eu tinha excedido o tamanho dos caracteres inseridos para o telefone (eu tinha colocado esse campo como INT(14) ) porque o telefone tem DDI, DDD e o número propriamente dito :P aí eu modifiquei o tipo para VARCHAR(15) e consegui fazer a inserção. :D

E... Feliz Dia do Programador!

Editado por PhoenixWings
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...