Caro, Em algum ponto da alteração para setter e getter não tenho sucesso.
banco-produto.php
function insereProduto($conexao, $produto) {
$nome = mysqli_real_escape_string($conexao, $nome);
$descricao = mysqli_real_escape_string($conexao, $descricao);
$query = "insert into produtos (nome, preco, descricao, categoria_id, usado)
values ('{$produto->setNome()}', {$produto->setPreco()}, '{$produto->setDescricao()}',
{$produto->categoria->setId()}, {$produto->setUsado()})";
$resultadoDaInsercao = mysqli_query($conexao, $query);
return $resultadoDaInsercao;
}
function alteraProduto($conexao, $produto) {
$nome = mysqli_real_escape_string($conexao, $nome);
$descricao = mysqli_real_escape_string($conexao, $descricao);
$query = "update produtos set nome = '{$produto->setNome()}', preco = {$produto->setPreco()},
descricao = '{$produto->setDescricao()}', categoria_id= {$produto->setCategoria()->setId()},
usado = {$produto->setUsado()} where id = '{$produto->setId()}'";
return mysqli_query($conexao, $query);
}
adiciona-produto.php
<?php
$categoria = new Categoria();
$categoria->setId($_POST['categoria_id']);
$produto = new Produto();
$produto->setNome($_POST["nome"]);
$produto->setPreco($_POST["preco"]);
$produto->setDescricao($_POST["descricao"]);
$produto->setCategoria($categoria);
if(array_key_exists('usado', $_POST)) {
$produto->setUsado() = "true";
} else {
$produto->setUsado() = "false";
}
if(insereProduto($conexao, $produto)) { ?>
<p class="text-success">Produto <?= $produto->getNome(); ?>, <?= $produto->getPreco(); ?> adicionado com sucesso!</p>
<?php
} else {
$msg = mysqli_error($conexao);
?>
<p class="text-danger">Produto <?= $produto->getNome(); ?> não foi adicionado! <?= $msg ?></p>
<?php
}
mysqli_close($conexao);
?>
altera-produto.php
<?php
$categoria = new Categoria();
$categoria->setId($_POST['categoria_id']);
$produto = new Produto();
$produto->setId($_POST['id']);
$produto->setNome($_POST["nome"]);
$produto->setPreco($_POST["preco"]);
$produto->setDescricao($_POST["descricao"]);
$produto->setCategoria($categoria);
if(array_key_exists('usado', $_POST)) {
$produto->usado = "true";
} else {
$produto->usado = "false";
}
if(alteraProduto($conexao, $produto)) { ?>
<p class="text-success">Produto <?= $produto->getNome(); ?>, <?= $produto->getPreco(); ?> foi alterado!</p>
<?php
} else {
$msg = mysqli_error($conexao);
?>
<p class="text-danger">Produto <?= $produto->getNome(); ?> não foi alterado! <?= $msg ?></p>
<?php
}
mysqli_close($conexao);
?>
Onde está o erro?