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

Erro ao adicionar produto no Banco de Dados

Estou tendo um problema.

Aparece a seguinte mensagem:


Notice: Undefined index: nome in C:\xampp\htdocs\Alura-Estilo\adiciona-produto.php on line 11

Notice: Undefined index: preco in C:\xampp\htdocs\Alura-Estilo\adiciona-produto.php on line 12

O produto não foi adicionado: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

No meu codigo adiciona-produto.php,esta dessa forma:

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

<?php

function insereProduto($conexao, $nome, $preco) {
    $query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
    return mysqli_query($conexao, $query);
}

$nome = $_POST["nome"];
$preco = $_POST["preco"];
//$conexao = mysqli_connect('localhost', 'root', '', 'bd_loja');

if(insereProduto($conexao, $nome, $preco)) { ?>
    <p class="text-success">O produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php } else {
    $msg = mysqli_error($conexao);
?>
    <p class="text-danger">O produto <?= $nome; ?> não foi adicionado: <?= $msg ?></p>
<?php
}
?>
2 respostas
solução!

Olá, Pedro.

Os dados de nome e preço não estão sendo enviados via post para o PHP.

Confere se no <form> da página que leva para este código tem esse atributo: <form method="post" ...>.

Se parecer certinho, manda o código do formulário pra gente dar uma olhada.

Abraços!

Oi Pedro, tudo bom?

Acredito que o problema esteja aqui:

Notice: Undefined index: nome in C:\xampp\htdocs\Alura-Estilo\adiciona-produto.php on line 11

Notice: Undefined index: preco in C:\xampp\htdocs\Alura-Estilo\adiciona-produto.php on line 12

Isso significa que seus parametros em adiciona-produto.php não estão sendo encontrados. Verifica pra mim se sua tag form esta com o metodo post setado:

<form action="adiciona-produto.php" method="post">

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software