PhoenixWings Postado Setembro 11, 2010 Denunciar Share Postado Setembro 11, 2010 (editado) 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 Setembro 11, 2010 por PhoenixWings Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Setembro 11, 2010 Denunciar Share Postado Setembro 11, 2010 Use o comando or die(mysql_error()) no insert e veja o que ele retorna. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PhoenixWings Postado Setembro 13, 2010 Autor Denunciar Share Postado Setembro 13, 2010 (editado) *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. :DE... Feliz Dia do Programador! Editado Setembro 13, 2010 por PhoenixWings Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PhoenixWings
Eu estou tentando inserir dados de um formulário numa tabela mas não estou conseguindo (é retornado -1 para linhas afetadas):
PHP
Editado por PhoenixWingsLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.