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

Bug em "banco-produto.php" - Erro de sintaxe

<?php
require_once("conecta.php");
require_once("class/Produto.php");
require_once("class/Categoria.php");    

function listaProdutos($conexao) {
    $produtos = array();
    $resultado = mysqli_query($conexao, "select p.*,c.nome as categoria_nome from produtos as p join categorias as c on c.id=p.categoria_id");
    while($produto_array = mysqli_fetch_assoc($resultado)) {

        $produto = new Produto();
        $categoria = new Categoria();
        $categoria->nome = $produto_array ['categoria_nome'];

        $produto->id = $produto_array ['id'];
        $produto->nome = $produto_array ['nome'];
        $produto->preco = $produto_array ['preco'];
        $produto->descricao = $produto_array ['descricao'];
        $produto->categoria = $categoria;
        $produto->usado = $produto_array ['usado'];

        array_push($produtos, $produto);
    }
    return $produtos;
}

function insereProduto($conexao, Produto $produto) {
    $query = "insert into produtos (nome, preco, descricao, categoria_id, usado) values ('{$produto->nome}', {$produto->preco}, '{$produto->descricao}', {$produto->categoria->id}, {$produto->usado})";
    return mysqli_query($conexao, $query);
}
function alteraProduto($conexao, $id, $nome, $preco, $descricao, $categoria_id, $usado) {
    $query = "update produtos set nome = '{$produto->nome}', preco = {$produto->preco}, descricao = '{$produto->descricao}', categoria_id = {$produto->categoria->id], usado = {$produto->usado} where id = '{$produto->id}'";
    return mysqli_query($conexao, $query);
}


function buscaProduto($conexao, $id) {
    $query = "select * from produtos where id = {$id}";
    $resultado = mysqli_query($conexao, $query);
    return mysqli_fetch_assoc($resultado);
}

function removeProduto($conexao, $id) {
    $query = "delete from produtos where id = {$id}";
    return mysqli_query($conexao, $query);
}
9 respostas
solução!

Troque a linha abaixo

    $query = "update produtos set nome = '{$produto->nome}', preco = {$produto->preco}, descricao = '{$produto->descricao}', categoria_id = {$produto->categoria->id], usado = {$produto->usado} where id = '{$produto->id}'";

Por

$query = "update produtos set nome = '{$produto->nome}', preco = {$produto->preco}, descricao = '{$produto->descricao}', categoria_id = {$produto->categoria->id}, usado = {$produto->usado} where id = '{$produto->id}'";

Tem um COLCHETE no lugar de uma CHAVE!

No Sublime Text apareceu a seguinte mensagem:

Tem um COLCHETE no lugar de uma CHAVE!

É pra fechar com colchete, certo? Grato!

Oi Marcelo, tudo bom?

Se você quiser, manda mais detalhes do erro aqui. Assim fica mais facil encontrar possiveis problemas =)

Informações como a linha e o stack trace do erro ajudam bastante.

abraço

function insereProduto($conexao, Produto $produto) {
    $query = "insert into produtos (nome, preco, descricao, categoria_id, usado) values ('{$produto->nome}', {$produto->preco}, '{$produto->descricao}', {$produto->categoria->id}, {$produto->usado})";
    return mysqli_query($conexao, $query);
}
function alteraProduto($conexao, $id, $nome, $preco, $descricao, $categoria_id, $usado) {
    $query = "update produtos set nome = '{$produto->nome}', preco = {$produto->preco}, descricao = '{$produto->descricao}', categoria_id = {$produto->categoria->id}, usado = {$produto->usado} where id = '{$produto->id}'";
Tem um COLCHETE no lugar de uma CHAVE!

    return mysqli_query($conexao, $query);
}

Boa tarde,

O que fazer qto a informação: "Tem um COLCHETE no lugar de uma CHAVE"? No aguardo e obrigado.

E ainda tem colchete no código? Você fez a correção que indiquei?

Ok, vou corrigir e rodar o código aqui. Obrigado e bom final de semana!

Oi Marcello, tudo bom?

Como ficou seu erro? Foi corrigido? Deixa o feedback aqui pra gente =)

Boa tarde,

Sim, quanto ao arquivo "banco-produto.php" me parece que o meu código fonte está em ordem. Todavia, abri um novo chamado sobre o módulo seguinte, pois deu um novo bug no código arquivo "produto-lista.php".