Oi! Então, eu estou há algum tempo com problema para adicionar e alterar os produtos.
Quando eu tento adicionar, após clicar o botão, o resultado do var_dump é:
Erro: string(158) "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '', '', '')' at line 1"Tirando esse var_dump, não aparece nada na linha de comando.
A função insere produto tá assim:
    function insereProduto(Produto $produto) {
        $isbn = "";
        if($produto->hasIsbn()) {
            $isbn = $produto->getIsbn();
        }
        $taxaImpressao = "";
        if($produto->hasTaxaImpressao()) {
            $taxaImpressao = $produto->getTaxaImpressao();
        }
        $waterMark = "";
        if($produto->hasWaterMark()) {
            $waterMark = $produto->getWaterMark();
        }
        $tipoProduto = get_class($produto);
        $query = "INSERT INTO produtos (nome, preco, descricao, categoria_id, usado, isbn, tipoProduto, taxaImpressao, waterMark) VALUES('{$produto->getNome()}', {$produto->getPreco()}, '{$produto->getDescricao()}', {$produto->getCategoria()->getId()}, {$produto->isUsado()}, '{$isbn}', '{$tipoProduo}, '{$taxaImpressao}', '{$waterMark}')";
        return mysqli_query($this->conexao, $query);
    }E o SQL de produtos tá assim:
CREATE TABLE produtos (
    id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
    nome VARCHAR(255) NOT NULL,
    preco DECIMAL(10,2) NOT NULL),
    descricao TEXT,
    categoria_id INTEGER NOT NULL,
    usado BOOLEAN DEFAULT FALSE,
    isbn VARCHAR(255),
    tipoProduto VARCHAR(255) NOT NULL
);
INSERT INTO produtos (nome, preco, descricao, categoria_id, usado, isbn)
VALUES('Livro Stephen King', 75, 'Um livro pelo grande autor Stephen King', 5, 0, '002589753', 'Livro');
INSERT INTO produtos
DELETE FROM produtos WHERE id=2;
DELETE FROM produtos WHERE id=8;
ALTER TABLE produtos ADD COLUMN taxaImpressao VARCHAR(255);
ALTER TABLE produtos DROP COLUMN taxaImpressao;
ALTER TABLE produtos ADD COLUMN waterMark VARCHAR(255);
ALTER TABLE produtos DROP COLUMN waterMark;
SELECT * FROM produtos;E o arquivo adiciona produto, assim:
<?php 
require_once "conecta.php";
require_once "cabecalho.php";
require_once "logica-usuario.php";
// Verifica se o usuário está logado
verificaUsuario();
$tipoProduto = $_POST['tipoProduto'];
$categoria_id = $_POST['categoria_id'];
$factory = new ProdutoFactory();
$produto = $factory->criarProd($tipoProduto, $_POST);
$produto->atualizaBaseadoEm($_POST);
$produto->getCategoria()->setId($categoria_id);
array_key_exists('usado', $_POST) ? $produto->setUsado("true") : $produto->setUsado("false");
$produtoDAO = new ProdutoDAO($conexao);
if($produtoDAO->insereProduto($produto)) { ?>
    <form action="produto-formulario.php">
        <p class="text-success"> O produto <?php echo $produto->getNome()?>, R$<?php echo $produto->getPreco()?> adicionado com sucesso! </p>
        <button class="btn" type="submit">Voltar</button>
    </form>
<?php
 } else { 
     $msg = mysqli_error($conexao);
     ?>
    <form action="produto-formulario.php">
        <p class="text-danger"> O produto <?php echo $produto->getNome()?>, R$<?php echo $produto->getPreco()?> não foi adicionado
        <br><span>Erro: <?=var_dump($msg);?></span></p>
        <button class="btn" type="submit">Voltar</button>
    </form>
    <?php 
}
mysqli_close($conexao);
?>
<?php require_once "rodape.php" ?>O restante do código atualizado tá no meu github https://github.com/analubarreto/ :).
Obrigada, desde já ^^
 
            