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

Dúvida no Ex. 2 da Aula 2 - Inserindo produtos no banco de dados

Alguém pode me ajudar? O meu if não está funcionando, ele só da produto 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 <?=$nome ?> adicionado!</p>

<?php } else { ?>
<p class="alert-danger">Produto <?=$nome ?> não foi adicionado!</p>
<?php
}

mysqli_close($conexao);

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

Oi Rayssa, tudo bem? Esse seu código não parece ser o problema. Você poderia postar aqui o código da página que adiciona produto? Aquela do formulário.

Fico no aguardo!

solução!

O "erro" está no $query = "insert into produtos (nome, preco) values ('{$nome}', '{$preco}')";

o $preco está com aspas simples então mesmo que você não mande o preço ele vai vazio. Se você tirar as aspas não irá adicionar no banco e irá passar no else.

Olhando para este código parece ser aquilo que o Edson comentou mesmo, a variável $preco está sendo passada para inclusão no banco como string devido as aspas simples no script insert. Verifica também na criação da base de dados qual o tipo de dados o campo "preco" está, caso esteja como varchar, altere para o tipo correto.

O erro era as aspas simples no preco mesmo. Muito obrigada!!!!!!!!