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

[Duplicidade] Não consigo cadastrar nenhum item


Erick Cerqueira

Pergunta

Boa noite!

Pessoal, no código que irei mostrar logo abaixo eu não consigo cadastrar nada, ele simplesmente fica dizendo que a "Matricula já existe no sistema" o tempo todo, mesmo não tendo cadastrado nenhuma ainda 😞


Alguém poderia me dizer o que esta errado?
 

   <?php
    
    session_start();
    include_once ("conexao.php");
    
    $marca = filter_input($INPUT_POST, 'marca', FILTER_SANITIZE_STRING);
    $modelo = filter_input($INPUT_POST, 'modelo', FILTER_SANITIZE_STRING);
    $sn = filter_input($INPUT_POST, 'sn', FILTER_SANITIZE_STRING);
    $imei = filter_input($INPUT_POST, 'imei', FILTER_SANITIZE_STRING);
    $numero = filter_input($INPUT_POST, 'numero', FILTER_SANITIZE_STRING);
    $imei_chip = filter_input($INPUT_POST, 'imei_chip', FILTER_SANITIZE_STRING);
    $plano = filter_input($INPUT_POST, 'plano', FILTER_SANITIZE_STRING);
    $dados = filter_input($INPUT_POST, 'dados', FILTER_SANITIZE_STRING);
    $fone = filter_input($INPUT_POST, 'fone', FILTER_SANITIZE_STRING);
    $matricula = filter_input($INPUT_POST, 'matricula', FILTER_SANITIZE_STRING);
    $responsavel = filter_input($INPUT_POST, 'responsavel', FILTER_SANITIZE_STRING);
    $funcao = filter_input($INPUT_POST, 'funcao', FILTER_SANITIZE_STRING);
    $cod_setor = filter_input($INPUT_POST, 'cod_setor', FILTER_SANITIZE_STRING);
    $setor = filter_input($INPUT_POST, 'setor', FILTER_SANITIZE_STRING);
    $obs = filter_input($INPUT_POST, 'obs', FILTER_SANITIZE_STRING);
    
    $result_telefone = "INSERT INTO cadastro_telefone (marca, modelo, sn, imei, numero, imei_chip, plano, minutos, dados, fone, matricula, responsavel, funcao, cod_setor, setor, obs, data)
        SELECT * FROM (SELECT '$marca', '$modelo', '$sn', '$imei', '$numero', '$imei_chip', '$plano', '$minutos', '$dados', '$fone', '$matricula', '$responsavel', '$funcao', '$cod_setor', '$setor', '$obs', now() ) AS temp
        WHERE NOT EXISTS (
            SELECT matricula FROM cadastro_telefone WHERE matricula = '$matricula'
        ) LIMIT 1;";
    
    if(!mysqli_query($conn, $result_telefone)){
        $_SESSION['msg'] = "<p style='color:red;'>Não foi possível cadastrar o telefone..</br> 
        <b>Motivo:</b> Ocorreu um erro com o banco de dados.</p>";
        header("Location: cadastrar-telefone.php");
    }
    
    if(mysqli_affected_rows($conn) > 0){
        $_SESSION['msg'] = "<b><p style='color:green;'>Telefone foi cadastrado com sucesso!</p></b>";
        header("Location: cadastrar-telefone.php");
    } else {
        $_SESSION['msg'] = "<p style='color:red;'>Não foi possível cadastrar o telefone.</br> 
        <b>Motivo:</b> Esta Matricula já está cadastrada em nosso Sitema!</p>";
        header("Location: cadastrar-telefone.php");
    }
    ?>

ulOAS.png

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!
Não é bem assim q se faz essa verificação, não...
Depois de executar a query, você precisa, primeiramente, verificar se houve algum retorno do tipo mysqli->error
Se houver realmente uma duplicidade, vai ser retornada na mensagem de ->error.
Só depois, fazer as outras verificações.

O fato de não ter affected_rows, não significa exatamente que há duplicidade. Pode ter sido outra coisa. 

E nos filter_input(INPUT_POST, ... o INPUT_POST é uma constant não é precedido por cifrão.

Editado por wash
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...