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

erro estranho ao inserir dados no BD


igor Br22

Pergunta

Os dados em si estão inserindo normalmente no BD, porém é acrescentado 1, ou 2 linhas nulas no BD. o que poderia esta fazendo isso?

conexao.php

$host = "localhost";$user = "*******";$pass = "********";$db = "***********";// INICIANDO A CONEXAO COM O BANCO DE DADOS MYSQL$conn = @mysql_connect($host,$user,$pass) or die ("Erro ao conectar ao servidor mySql: ".mysql_error());$db = @mysql_select_db($db) or die ("Erro ao selecionar Base de Dados: ".mysql_error());
op_inserir.php
$txt_titulo                     =       mysql_real_escape_string($_POST["txt_titulo"]); 
       $txt_peticao                    =       mysql_real_escape_string($_POST["txt_peticao"]);
        $txt_data                               =       date('Y/m/d');
        $txt_bairro                             =       mysql_real_escape_string($_POST["txt_bairro"]);
        $txt_assunto                    =       mysql_real_escape_string($_POST["txt_assunto"]);
        $txt_destino                    =       mysql_real_escape_string($_POST["txt_destino"]);
    $txt_nome_primeiro          =       mysql_real_escape_string($_POST["txt_nome_primeiro"]);
      $txt_nome_segundo           =       mysql_real_escape_string($_POST["txt_nome_segundo"]);
        $num_area                               =       mysql_real_escape_string($_POST["num_area"]);
                   $num_tel                                =       mysql_real_escape_string($_POST["num_tel"]);
            $txt_email                              =       mysql_real_escape_string($_POST["txt_email"]);
                    $sql = "INSERT INTO `measure_phpbb2`.`peticao` (`txt_titulo` ,`txt_peticao` ,`data_peticao` ,`bairro_peticao` ,`assunto_peticao` ,`txt_destino` ,`nome_peticao` ,`sobrenome_peticao` ,`ddd_peticao` ,`tel_peticao` ,`email_peticao` )
VALUES('$txt_titulo', '$txt_peticao', '$txt_data','$txt_bairro', '$txt_assunto','$txt_destino', '$txt_nome_primeiro', '$txt_nome_segundo', '$num_area', '$num_tel', '$txt_email');";                mysql_query($sql) or die ("não foi impossivel inserir dados");

O codigo está gerando a linha com os dados inseridos no bd + 1, ou 2 linhas nulas( dados NULL) na mesma tabela

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Tente depois que ele insere no banco de dados colocar

header('Location: index.php') ou qualquer outra página que você desejar....

comigo funcionou uma vez que aconteceu isso, bom não custa tentar :D

espero ter ajudado

abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
Tente depois que ele insere no banco de dados colocar

header('Location: index.php') ou qualquer outra página que você desejar....

comigo funcionou uma vez que aconteceu isso, bom não custa tentar :D

espero ter ajudado

abraço.

Alterei aqui e continua inserindo no bd 1 linha com os dados normais e outra linha nula!

Você poderia colocar a estrutura do BD aqui? Já viu se é o tipo de atributo que está associada á alguma coluna?

segue a estrutura da tabela:

-- Estrutura da tabela `peticao`
--

CREATE TABLE `peticao` (
  `id_peticao` int(11) NOT NULL auto_increment,
  `txt_titulo` varchar(200) character set latin1 NOT NULL,
  `txt_peticao` text character set latin1 NOT NULL,
  `data_peticao` date NOT NULL,
  `bairro_peticao` varchar(100) character set latin1 NOT NULL,
  `assunto_peticao` varchar(100) character set latin1 NOT NULL,
  `txt_destino` text character set latin1,
  `nome_peticao` varchar(80) character set latin1 default NULL,
  `sobrenome_peticao` varchar(150) character set latin1 default NULL,
  `ddd_peticao` int(3) default NULL,
  `tel_peticao` int(9) default NULL,
  `email_peticao` varchar(200) character set latin1 default NULL,
  PRIMARY KEY  (`id_peticao`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=36;

Link para o comentário
Compartilhar em outros sites

  • 0
Essa inserção está dentrou de um loop ou for?

não, segue todo o arquivo para insercao.

<?php 

     include "../conexoes/conexao.php";
    
    if ($_POST['verifica'] == 1)
    {
        $id                = $_POST['id'];
        $nome            = $_POST['nome'];
        $data            = date('Y/m/d');
        $email            = $_POST['email'];

      $sql = "INSERT INTO `measure_phpbb2`.`assinatura` (`id_peticao` ,`nome` ,`data` ,`email`)VALUES (
'$id', '$nome', '$data','$email');";
mysql_query($sql) or die ("não foi impossivel inserir dados");
    
    echo '<META HTTP-EQUIV=REFRESH CONTENT= "0;URL=peticao_view.php?id='.$id.'"><script type \"text/JavaScript\">    alert(\"Peticao enviada com sucesso!\");</script>'; 
    }
    else
    {
    
    $txt_titulo            =    mysql_real_escape_string($_POST["txt_titulo"]);
    $txt_peticao            =    mysql_real_escape_string($_POST["txt_peticao"]);
    $txt_data                =    date('Y/m/d');
      $txt_bairro                =    mysql_real_escape_string($_POST["txt_bairro"]);
     $txt_assunto            =    mysql_real_escape_string($_POST["txt_assunto"]);
      $txt_destino            =    mysql_real_escape_string($_POST["txt_destino"]);
    $txt_nome_primeiro        =    mysql_real_escape_string($_POST["txt_nome_primeiro"]);    
    $txt_nome_segundo        =    mysql_real_escape_string($_POST["txt_nome_segundo"]);
     $num_area                =    mysql_real_escape_string($_POST["num_area"]);        
     $num_tel                =    mysql_real_escape_string($_POST["num_tel"]);    
      $txt_email                 =    mysql_real_escape_string($_POST["txt_email"]);    
  
        
        $sql = "INSERT INTO `measure_phpbb2`.`peticao` (
`txt_titulo` ,
`txt_peticao` ,
`data_peticao` ,
`bairro_peticao` ,
`assunto_peticao` ,
`txt_destino` ,
`nome_peticao` ,
`sobrenome_peticao` ,
`ddd_peticao` ,
`tel_peticao` ,
`email_peticao` 

)
VALUES (
'$txt_titulo', '$txt_peticao', '$txt_data','$txt_bairro', '$txt_assunto','$txt_destino', '$txt_nome_primeiro', '$txt_nome_segundo', '$num_area', '$num_tel', '$txt_email');";
        
mysql_query($sql) or die ("não foi impossivel inserir dados");

        
echo "<META HTTP-EQUIV=REFRESH CONTENT= '0;URL=lst_peticao.php?op=1'><script type \"text/JavaScript\">    alert(\"Peticao enviada com sucesso!\");</script>"; 
}    
?>

Link para o comentário
Compartilhar em outros sites

  • 0
Tira essa meta refresh só para teste.

Caramba. isso tá me deixando de cabelo branco.

não adiantou. insere uma linha nula e a outra com os dados.

mais estranho ainda, quando executo essa mesma instrução direto do sql, atraves do phpmyadmin, a inserção é feita normalmente, sem a linha nula.!

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, desculpe a demora, fiz algumas alterações e deu certo. Você reparou que configurou sua chave primária como auto_increment? E depois, você associava ao id na hora de inserir? E em alguns atributos da sua entidade, estava como valor NULL, o correto seria NOT NULL. Fiz as mudanças, segue no código:

//TABELA - ESTRUTURA
CREATE TABLE `peticao` (
  `id_peticao` int(11) NOT NULL auto_increment,
  `txt_titulo` varchar(200) character set latin1 NOT NULL,
  `txt_peticao` text character set latin1 NOT NULL,
  `data_peticao` date NOT NULL,
  `bairro_peticao` varchar(100) character set latin1 NOT NULL,
  `assunto_peticao` varchar(100) character set latin1 NOT NULL,
  `txt_destino` text character set latin1 NOT NULL,
  `nome_peticao` varchar(80) character set latin1 NOT NULL,
  `sobrenome_peticao` varchar(150) character set latin1 NOT NULL,
  `ddd_peticao` int(3) NOT NULL,
  `tel_peticao` int(9) NOT NULL,
  `email_peticao` varchar(200) character set latin1 NOT NULL,
  PRIMARY KEY  (`id_peticao`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=36;
//PROGRAMAÇÃO PHP
//VARIAVEIS
$txt_titulo            =    isset($_POST["txt_titulo"]) ? $_POST['txt_titulo'] : FALSE;
    $txt_peticao            =    isset($_POST["txt_peticao"]) ? $_POST['txt_peticao'] : FALSE;
    $txt_data                =    date('Y/m/d');
      $txt_bairro                =    isset($_POST["txt_bairro"]) ? $_POST['txt_bairro'] : FALSE;
    $txt_assunto            =    isset($_POST["txt_assunto"])  ? $_POST['txt_assunto'] : FALSE;
      $txt_destino            =    isset($_POST["txt_destino"])  ? $_POST['txt_destino'] : FALSE;
    $txt_nome_primeiro        =    isset($_POST["txt_nome_primeiro"])  ? $_POST['txt_nome_primeiro'] : FALSE;    
    $txt_nome_segundo        =    isset($_POST["txt_nome_segundo"])  ? $_POST['txt_nome_segundo'] : FALSE;
    $num_area                =    isset($_POST["num_area"])  ? $_POST['num_area'] : FALSE;        
    $num_tel                =    isset($_POST["num_tel"])  ? $_POST['num_tel'] : FALSE;    
      $txt_email                 =    isset($_POST["txt_email"])  ? $_POST['txt_email'] : FALSE;    
  
        //INSERÇÃO
        $tsql = "INSERT INTO `tabella`.`peticao2` (`id_peticao`,  `txt_titulo` ,  `txt_peticao` , `data_peticao` ,`bairro_peticao` ,
`assunto_peticao` , `txt_destino` , `nome_peticao` , `sobrenome_peticao` , `ddd_peticao` , `tel_peticao` , `email_peticao`  )
VALUES ('null', '$txt_titulo', '$txt_peticao', '$txt_data','$txt_bairro', '$txt_assunto','$txt_destino', '$txt_nome_primeiro', '$txt_nome_segundo', '$num_area', '$num_tel', '$txt_email');";
        
mysql_query($tsql) or die ("não foi impossivel inserir dados2");

        
echo "PETIÇÃO ENVIADA COM SUCESSO!";

Veja se ai funciona.

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...