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

Estou com dúvida no curso de PHP, MySQL e Fundamentos da Web, no exercício do capítulo Relacionando Produtos com Categorias.

Estou recebendo o erro:

Catchable fatal error: Object of class mysqli could not be converted to string in /Applications/XAMPP/xamppfiles/htdocs/loja/banco-produto.php on line 18

O código está como o seguinte:

<?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;

}
?>

<?php

function insereProduto($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);
    return $resultadoDaInsercao;
}

?>

<?php

function removeProduto ($conexao , $id){
    $query = "delete from produtos where id = {$id}";
    return mysqli_query($conexao, $query);
}

?>
4 respostas

coloque apenas as variaveis, exemplo: $nome no lugar de '{$nome}' e assim por diante

Ainda não consegui solucionar trocando todos para $nome.

Não sei se o problema pode estar também na parte do formulário:

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

?>
<?php

if(insereProduto($conexao,$nome,$preco,$descricao,$categoria_id)) { ?>
solução!

Não sei qual foi o problema ainda. Mas o código da seguinte forma funcionou:

<?php
function insereProduto($conexao,$nome, $preco, $descricao, $categoria_id){        
        $query = "insert into produtos (nome, preco, descricao, categoria_id) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id})";
        return mysqli_query($conexao, $query);
}
?>

Ainda tenho o mesmo problema que a Mayara campos, não consigo fazer funcionar a função insereProduto depois que adiciona a categoria, quando insere um novo produto na pagina, sempre aponta para essa função.