Quando vou inserir um produto no banco de dados, aparece a seguinte mensagem de erro:
O produto: Carro Gol, 14000 não foi adicionado: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''true'' at line 2
Eu não consegui encontrar onde está o erro você poderia me ajudar?
Segue codigo das paginas:
PRODUTO FORMULARIO: <?php include("cabecalho.php"); include("conecta.php"); include("banco-categoria.php");
$categorias = listaCategoria($conexao); ?>
Formulario de Produto
Nome: | ||
Preço: | ||
Usado | ||
Categoria | <?php foreach($categorias as $categoria): ?> |
<?php include("rodape.php"); ?>
ADICIONA PRODUTO
<?php include("cabecalho.php"); include("conecta.php"); include("banco-produto.php");
$nome = $_POST["nome"]; $preco = $_POST["preco"]; $descricao = $_POST["descricao"]; $categoria_id = $_POST["categoria_id"]; $usado = $_POST["usado"];
if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $usado)){ ?>
O produto: <?= $nome; ?>, <?= $preco ?> adicionado com sucesso!
<?php }else{ $msg= mysqli_error($conexao); ?>O produto: <?= $nome; ?>, <?= $preco ?> não foi adicionado: <?= $msg ?>
<?php } mysqli_close($conexao); ?><?php include("rodape.php"); ?>
BANCO PRODUTO
<?php function listaProdutos($conexao){ $produtos =[]; // array(); $query = mysqli_query($conexao,"select p.*,c.nome as categoria_nome from produto as p join categoria as c on c.id=p.categoria_id"); while($produto = mysqli_fetch_assoc($query)){ array_push($produtos, $produto); }
return $produtos; }
function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $usado){ return mysqli_query($conexao, "insert into produto (nome, preco, descricao, categoria_id, usado) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id}), '{$usado}'"); }
function removeProduto($conexao, $id){ return mysqli_query($conexao, "delete from produto where id= {$id}"); }