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

Produto não adicionado no Banco de Dados

Bom dia, estou tentando adicionar um produto no meu banco de dados, mas quando ele entra porém só retorna erro de que o produto não foi adicionado.

<?php include("cabecalho.php"); ?>

        <?php
        $nome = $_GET["nome"];
        $preco = $_GET["preco"];

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

        $query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";

        if(mysqli_query($conexao, $query)){
            ?>
            <p class="alert-success">Produto <strong><?php echo $nome;?></strong> no valor de <strong>R$<?php echo $preco ?></strong> adicionado com sucesso!</p>
            <?php
        }else{
            ?>
            <p class="alert-danger">Produto <strong><?php echo $nome;?></strong> não foi adicionado</p>
            <?php
        }
            ?>


<?php include("rodape.php"); ?>

O banco de dados a principio está correto, já que no exercício de adicionar produtos direto deu certo.

Obrigado.

3 respostas

Talvez o problema esteja nas variáveis, verifique se você está recebendo nome e preço através do método GET.

Tente faze o seguinte teste:

<?php
$nome = "";
$preco = 0;
if (isset($_GET["nome"])){
    $nome = $_GET["nome"];
}
if (isset($_GET["preco"])){
    $preco = $_GET["preco"];
}

$conexao = mysqli_connect('localhost', 'root', '', 'loja');
$query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
echo ($query); //Para testar o que se tentou gravar
if(mysqli_query($conexao, $query)){
?>
   <p class="alert-success">Produto <strong><?php echo $nome;?></strong> no valor de <strong>R$<?php echo $preco ?></strong> adicionado com sucesso!</p>
<?php
}else{
?>
   <p class="alert-danger">Produto <strong><?php echo $nome;?></strong> não foi adicionado</p>
<?php
}
?>

Verifique o verbo http ao qual é usado, substitua

$_GET['preco];

por

$_POST['preco'];
solução!

Acho que descobri o erro, eu tava tentando adicionar o produto Avião com o valor de 1.000.000,00, e ele dava erro, quando adicionei Avião no valor de 1000000 ai deu certo.