Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao tentar alterar produto

Pessoal, estou refatorando o código de acordo com as aulas de orientação a objetos. Entretanto, meu alterar produto tá dando pau!

Alguém sabe me dizer?

O produto nome; ?> não foi alterado!: 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 ' usado = false where id = '12'' at line 2

Código relacionado:

Banco-Produto.php

function alteraProduto($conexao, Produto $produto) {
    $query = "update produtos set nome = '{$produto->nome}', preco = {$produto->preco}, descricao = '{$produto->descricao}', 
        categoria_id= {$produto->categoria->id}, usado = {$produto->usado} where id = '{$produto->id}'";
        $resultadoAlteracaoProduto = mysqli_query($conexao, $query);
        return $resultadoAlteracaoProduto;
}

Altera-produto.php

<?php 
require_once("model/Produto.php");
require_once("cabecalho.php");     
require_once("banco-produto.php");


$produto = new Produto;

$produto->id = $_POST['id'];
$produto->nome = $_POST["nome"];
$produto->preco = $_POST["preco"];
$produto->descricao = $_POST["descricao"];
$produto->categoria_id = $_POST["categoria_id"];

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

} else {
    $usado = "false";
}

$produto->usado = $usado;

if(alteraProduto($conexao, $produto)) { ?>
    <p class="text-success">Produto <?= $produto->nome; ?>, <?= $produto->preco; ?> produto alterado com sucesso!</p>
<?php 
} else { 
    $msg = mysqli_error($conexao);

?>
    <p class="text-danger">O produto <? = $produto->nome; ?> não foi alterado!: <?= $msg ?></p>
<?php
}

?>
<?php include("rodape.php");?>
1 resposta
solução!

obrigado, já encontrei o erro.

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