Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não está a ser possível adicionar produto

Boas caros,

Após a alteração dos modificadores, passei a ter problemas no processo de adição de novo produto. Está a ser devolviodo o erro:

Fatal error: Uncaught Error: Call to a member function getId() on null in C:\xampp\htdocs\loja\banco-produto.php:10 Stack trace: #0 C:\xampp\htdocs\loja\adiciona-produto.php(34): insereProduto(Object(mysqli), Object(Produto)) #1 {main} thrown in C:\xampp\htdocs\loja\banco-produto.php on line 10

Banco produto linha 10:



//Inserir produto
function insereProduto($conexao, Produto $produto) {
    $query = "insert into produtos (nome, preco, descricao,categoriaId,usado) values ('{$produto->getNome()}', {$produto->getPreco()},'{$produto->getDescricao()}',{$produto->getCategoria($categoria->getId())},{$produto->getUsado()})";

    return mysqli_query($conexao, $query);


}

adiciona-produto linha 34:

if(insereProduto($conexao,$produto)) { ?>

    <p class="text-success">O produto <?= $produto->getNome(); ?>, <?= $produto->getPreco(); ?> adicionado com sucesso!</p>
<?php } else {
    $msg = mysqli_error($conexao);
?>
    <p class="text-danger">O produto <?= $produto->getNome(); ?> não foi adicionado: <?= $msg ?></p>
<?php
}
?>

Podem ajudar?

Tks

1 resposta
solução!

Boas

Situação ficou resolvida, alterado a valor a enviar no id produto, de $produto->getCategoria($categoria->getId()) para $produto->getCategoria().

O Ficheiro banco-produto, ficou assim:

function insereProduto($conexao, Produto $produto) {
    $query = "insert into produtos (nome, preco, descricao,categoriaId,usado) values ('{$produto->getNome()}', {$produto->getPreco()},'{$produto->getDescricao()}',{$produto->getCategoria()},{$produto->getUsado()})";

    return mysqli_query($conexao, $query);


}