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

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

Eu fiz a aplicação conforme a aula, mas a mensagem de erro não aparece de forma alguma, já que os produtos são sempre adicionados. Na criação da tabela, os campos não deveriam proibir o campo não nulo para que dê certo?

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

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

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

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

<?php if(mysqli_query($conexao, $query)) { ?>

Produto <?= $nome; ?>, custando <?= $preco; ?>R$, foi adicionado com sucesso!

<?php} else{?>

O produto <?= $nome; ?> não foi adicionado

<?php } ?>

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

4 respostas

Oi Alex,

A função mysqli_query só vai retornar falso se a SQL falhar no banco. Pelo seu INSERT ali, se vc passar vazio, vc vai inserir vazio, e não nulo. E talvez por isso ela nunca falhe.

Idealmente você não faz a validação no banco de dados. Vc a faz no próprio PHP, ou mesmo no cliente, via javascript.

O que acha?

Um abraço!

Certo Maurício, mas o código está conforme a aula. Então, o que deverá ser alterado para que ele passe a retornar falso falso??

solução!

Vou precisar assistir a aula pra ver o que acontece lá!

Enquanto isso, comece a validar no PHP. If nome == vazio, mensagem de erro. Ok?

Ah, Ok. Entendi. Obrigado =)

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