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

PHP e MySql - Boolean

Usando o código abaixo tentei inserir o valor boolean no banco de dados MySql.

if(array_key_exists('usado', $_POST)) {
    $usado = "true";
} else {
    $usado = "false";
}

A mensagem de erro foi a seguinte, e não entendi por que o MySql espera que eu envie um valor inteiro. O código funcionou após substituir true/false por 1/0, mas a dúvida persiste. Alguém pode ajudar?

Produto carro não foi adicionado: Incorrect integer value: 'false' for column 'usados' at row 1
2 respostas

Dá uma conferida na sua tabela, como estão os tipos dos campos.

solução!

No código apresentado há um erro de tipagem, os valores booleanos true e false em PHP devem ser escritos sem aspas, ou serão interpretados como string e não como boolean. Remova as aspas dessa maneira:

if(array_key_exists('usado', $_POST)) {
    $usado = true;
} else {
    $usado = false;
}

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