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

mysqli_query não retorna erro

Se eu acessar a página que salva minhas informações no banco de dados sem atribuir valores para nome e preço, como por exemplo: http://localhost/loja/adiciona-produto.php?nome=&preco=

Ainda assim a linha é inserida na tabela do banco de dados, com valores nulos (string vazia e número igual a 0.00)

Nas vídeo aulas isso não acontece, se não atribuirmos valor ao preço a linha não é inserida na tabela e a função mysqli_query retorna um erro.

Preciso alterar alguma configuração para que o banco de dados não aceite valores nulos como parâmetro?

$nome = $_GET["nome"];
$preco = $_GET["preco"];

...

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

Oi Henrique, quando vc cria a tabela no banco coloca pras colunas não serem nulas.

create table produtos(
  id integer auto_increment primary key,
  nome varchar(255) not null,
  preco decimal(10,2) not null
);

Isso deve servir! Qqr coisa dá um toque por aqui (:

Abração!

solução!

Valeu por responder Yuri!

Eu consegui encontrar o erro. Acontece que eu estava colocando aspas na variável preço, fazendo com que fosse interpretado como uma string, não como um número. Acredito que uma string vazia era convertida automaticamente para o número 0.

Foi só tirar as aspas e tudo resolvido. Ou seja, Antes estava '{$preco}' Depois ficou {$preco}

Valeu!

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