Estou com esse erro quando vou alterar o produto:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\Curso\banco-produto.php on line 58 O Produto , não foi alterado!: 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 ' descricao = '', categoria_id= , u' at line 2
A minha função da linha 58 é a buscaProduto. Nessa função não fiz nenhuma alteração quanto a orientação por objetos. Segue minha função
function buscaProduto($conexao, $id) { $query = "select * from produtos where id = {$id}"; $resultado = mysqli_query($conexao, $query); var_dump($resultado); return mysqli_fetch_assoc($resultado); }
Segue meu código da página altera-produto.php, todas as outras estão iguais.
<?php require_once 'cabecalho.php';?> <?php require_once 'conecta.php';?> <?php require_once 'banco-produto.php'; ?> <?php require_once 'logica-usuario.php'; ?> <?php require_once 'class\categoria.php'; ?> <?php
verificaLogin(); $id = $_GET['id']; $produto_buscado = buscaProduto($conexao, $id); $produto = new Produto(); $categoria = new Categoria();
$categoria->id = $produto_buscado['categoria_id']; $produto->id = $produto_buscado['id']; $produto->nome = $produto_buscado["nome"]; $produto->preco = $produto_buscado["preco"]; $produto->descricao = $produto_buscado["descricao"]; $produto->categoria;
if(array_key_exists('usado', $_POST)){ $usado = 'true';} else { $usado = 'false';
} $produto->usado = $usado;
if(alteraProduto($conexao, $produto)) { ?>
O Produto <?= $produto->nome; ?>, <?= $produto->preco; ?> alterado com sucesso!
<?php } else { ?> <?php $msg = mysqli_error($conexao); ?>
O Produto <?= $produto->nome; ?>, <?= $produto->preco; ?> não foi alterado!: <?= $msg?>
<?php
}
mysqli_close($conexao);
?>
<?php require_once 'rodape.php';?>