Boa Noite Pessoal!....
Estou conseguindo fazer a tela de alteração de produto funcione em termos sem mensagem de erro mas não to conseguindo gravar as alterações quando vou verificar. Pesso ajuda produto-altera-formulario-php
<?php include("cabecalho.php");
include("conecta.php");
include("banco-categoria.php");
include("banco-produto.php");
$id = $_GET['id'];
$produto = buscaProduto($conexao, $id);
$categorias = listaCategorias($conexao);
$usado = $produto['usado']? "checked='checked'": "";
?>
<h1>Alterando produto</h1>
<form action="altera-produto.php" method="post">
<input type="hidden" name="id" value="<?=$produto['id']?>">
<table class="table">
<tr>
<td>nome:</td>
<td><input class="form-control" type="text" name="nome" value="<?=$produto['nome']?>"></td>
</tr>
<tr>
<td>preco:</td>
<td><input class="form-control" type="number" name="preco" value="<?=$produto['preco']?>"></td>
</tr>
<tr>
<td>Descrição:</td>
<td><textarea class="form-control" name="descricao">
<?=$produto['descricao']?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="checkbox" name="usado" <?=$usado?> value="true"> Usado
</tr>
</tr>
<td>Categoria</td>
<td>
<select class="form-control" name="categoria_id">
<?php foreach($categorias as $categoria) :
$essaEhACatetoria = $produto['categoria_id']== $categoria['id'];
$selecao = $essaEhACategoria ? "selected='selected'" : "";?>
<option value="<?=$categoria['id']?>" <?=$selecao?>><?=$categoria['nome']?></option>
<?php endforeach ?>
</select>
</select>
</td>
</tr>
</tr>
<td><button class="btn-primary" type="submit">Alterar</button>
</td>
</tr>
</table>
<tr>
</tr>
</form>
<?php include("rodape.php");?>
altera-produto.php
<?php include("cabecalho.php");
include("conecta.php");
include("banco-categoria.php");
include("banco-produto.php");
$id = $_POST['id'];
$nome = $_POST['nome'];
$preco = $_POST['preco'];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];
if(array_key_exists('usado', $_POST)){
$usado = "true";
}else{
$usado = "false";
}
if(alteraProduto($conexao, $id, $nome, $preco, $descricao, $categoria_id, $usado)){
?>
<p class="text-success">O produto <?= $nome ?>, <?=$preco ?> foi alterado.</p>
<?php } else {
$msg = mysqli_error($conexao);
?>
<p class="text-danger">O produto <?= $nome ?> não foi alterado: <? $msg?></p>
<?php
}
?>
<?php include("rodape.php"); ?>
banco-produto.php
function alteraProduto($conexao, $id, $nome, $preco, $descricao, $categoria_id, $usado){
$query = "update produtos set nome = '{$nome}', preco = {$preco}, descricao = '{$descricao}', categoria_id = {$categoria_id}, usado = {$usado} where id='{id}'";
return mysqli_query($conexao, $query);