Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Fiz um código php para um sisteminha que estou desenvolvendo para trabalho da faculdade, só que o código não esta fazendo a inserção no banco. Poderia me ajudar por favor? Código abaixo:

<?php include("cabecalho.php"); ?>
    <?php
        error_reporting(E_ALL); 
     $nome = $_GET['Nome'];
     $Endereco = $_GET['Endereco'];
     $CPF = $_GET['CPF'];
     $Salario = $_GET['Salario'];
     $Data_Nascimento = $_GET['Data_Nascimento'];
     $conexao = mysqli_connect('localhost','root','','funcionario');
     $query = "insert into funcionario (NomeFunc, EndFunc, DcFunc, DataNasc, SalarioFunc) values ('{$nome}','{$Endereco}', {$CPF},{$Data_Nascimento}, {$Salario})";
     echo $query;

    if(mysqli_query($conexao,$query)){ ?>
     <p class="alert-success">Funcionario <?= $nome ?> Cadastrado com sucesso!!</p>
    <?php } else { 
            $erro = mysql_error();
        ?> 
     <p class="alert-danger">Funcionario <?= $nome ?> Cadastrado não foi cadastrado!!</p>
    <?php
    }

    mysqli_close($conexao);
     ?>
 <?php include("rodape.php"); ?>
6 respostas

Oi Wallyson, você pode compartilhar com a gente oq acontece ao tentar adicionar no banco?

Aparece algum erro?

Aguardo retorno.

Abraço

Não da nenhum erro Andre, ele simplesmente cai no meu danger e fasso select no banco, e realmente não foi cadastrado nada.

Ei Wallyson, o seu banco de dados realmente se chama funcionario?

Porque quando você abriu a conexão você passou esse nome como database:

$conexao = mysqli_connect('localhost','root','','funcionario');

Sim esta correto o nome do banco

solução!

Consegui resolver o problema estava faltando aspas na data, só que ainda estou com um problema. O banco recebe um inteiro no CPF e não esta aceitando o CPF que estou colocando erro: #1264 - Out of range value for column 'DcFunc' at row 1. Se tiro o ultimo e coloco numeros menores ele aceita. O problema é que nesse exercicio sou obrigado a salvar o CPF como um inteiro.

Boa Wallyson! fico feliz que tenha resolvido.

Relmante é estranho inserir CPF no banco com o tipo inteiro... Normalmente esse tipo de dado a gente insere como string mesmo. Tanto porque, não costumamos fazer contas com o CPF, além da necessidade de caracteres como '.' e '-' então não faz muito sentido utilizarmos esse tipo para esse dado.

Entretanto, se você quiser utilizar int, uma possivel solução no meio do caminho é expandir um pouco e utilizar o tipo bigint que aloca mais espaço e cabe mais casas decimais =)

Abraço e bons estudos.