Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvidas no exercicio 6 da Aula 08

Olá Estou com uma duvida pois inseri o código porem quando adiciono o produto ele diz que O produto nao foi adicionado mas foi adicionado corretamente no db.

Segue o adiciona produto.php :

<?php include("cabecalho.php");
include("conecta.php");
include("banco-produto.php");

$nome = $_POST['nome'];
$preco = $_POST['preco'];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];

if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id)) { ?>
    <p class="alert-success">O produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php } else {
    $msg = mysqli_error($conexao);
?>
    <p class="alert-danger">O produto <? = $nome; ?> não foi adicionado: <?=$msg?></p>
<?php
}
?>

<?php include("rodape.php"); ?>

?>

Segue abaixo o banco-produto.php :

<?php
function listaProdutos($conexao) {
    $produtos = array();
    $resultado = mysqli_query($conexao, "select * from produtos");

    while($produto = mysqli_fetch_assoc($resultado)) {
        array_push($produtos, $produto);
    }

    return $produtos;

}

function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id) {
    $query = "insert into produtos (nome, preco, descricao, categoria_id)
              values ('{$nome}', {$preco}, '{$descricao}',{$categoria_id})";
    $resultadoDaInsercao = mysqli_query($conexao, $query);
}
function removeProduto($conexao, $id) {
    $query = "delete from produtos where id = {$id}";
    return mysqli_query($conexao, $query);    
}

Como informei ele adiciona o produto corretamente porem, mesmo com isso a mensagem informada na pagina é a :

O produto não foi adicionado:

Não é informado mensagem de erro. Aguardo resposta.

Grato!

2 respostas
solução!

A função insereProduto não tem retorno por isso cai sempre no else.

Obrigado pela ajuda.