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

Relacionando Produtos com Categorias

Oi pessoal, estou com uma duvida, me ajudem por favor. Qdo eu executo o codigo abaixo dá o erro:

Catchable fatal error: Object of class mysqli could not be converted to string in C:\xampp\htdocs\dk\banco-produto.php on line 14

O Código vem a seguir.

<?php

function listaProdutos($conexao) { $produtos = array();// prepara a variável produtos para receber um array que é o select da tabela $resultado = mysqli_query($conexao, "select p.*, c.nome as categoria_nome from produtos as p join categorias c on c.id=p.categoria_id");// resultado recebe o retorno da consulta

while($produto = mysqli_fetch_assoc($resultado)) {// enquanto tiver linhas na matriz resultado ele fará a associação de valores array_push($produtos, $produto);//array_push($array,$i)eqto o while le o array usando $i o comando empilha os dados no array passado por parametro } return $produtos; }

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

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

?>

9 respostas

Bom dia Leonardo,

Poderia colocar seu código formatado? Basta usar os três backticks. Poderia também indicar qual a linha 14?

Att

Bom dia Leonardo,

Poderia colocar seu código formatado? Basta usar os três backticks. Poderia também indicar qual a linha 14?

Att

Fala Jedi Guilherme,

seria esta linha:

$query = "insert into produtos (nome, preco, descricao, categoria_id) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id})";

Cara, eu não consegui detectar erro nesta linha... Se quiser e for permitido posso lhe passar a pasta da app.

Oi Leonardo!

Olhando o código pode me passar a pasta sim (se puder no github, mais fácil) que eu baixo em um servidor php aqui e dou uma olhada. A linha por si só não tem nada de estranho, só se uma das variáveis fosse um objeto do mysqli, mas não parece ser o caso. Olhando a pasta inteira consigo fuçar linha a linha

Abraço!

Guilherme, não sei como passar pelo git... se puder me orientar ficaria grato.

T+

Bom dia Leonardo,

Você pode me enviar por email para guilherme.silveira@alura.com.br

Abraço

Já mandei.

solução!

Oi Leonardo,

Parece que na função ficou faltando receber a $conexao, como ela está vazia, acaba passando vazio como primeiro parâmetro para o mysqli_query, e ai da a reclamação... acho que é só adicionar a conexão como parâmetro e passar a conexão ao invocá-la.

Att

Guilherme, Consegui resolver, a função do insereProduto não estava recebendo o parâmetro da conexão... embora qdo eu chamei a função eu passei o parâmetro... rsrsrsrsrs muito obrigado!!! Abçs!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software