1
I cannot find the error that is appearing in my product bank. Could someone help me find it? I thank you beforehand.
Fatal error: Call to a member function getId() on string in C:\Bitnami\wampstack-5.6.19-0\apache2\htdocs\beladuquesa\sys\banco-produto.php on line 85
this is the function alterProduct:
function alteraProduto($conexao, $produto) {
echo ("* inicio funcao alteraProduto * "); //Aviso de teste
81)$query = "update produtos set nome = '{$produto->getNome()}',
82)codigo = {$produto->getCodigo()},
83)preco = {$produto->getPreco()},
84)descricao = '{$produto->getDescricao()}',
85)categoria_id = {$produto->getCategoria()->getId()},
86)cor_id = {$produto->getCor()->getId()},
87)tamanho_id = {$produto->getTamanho()->getId()} where id = 88)'{$produto->getId()}'";**
return mysqli_query($this->conexao, $query);
echo ($query); //Aviso de teste
}
This is the test I made of what’s coming from the product alterer:
* inicio alteração * * Envia para Banco Produto * array(8) { ["id"]=> string(1) "1" ["codigo"]=> string(2) "12" ["nome"]=> string(13) "Vestido Paula" ["preco"]=> string(6) "100.00" ["descricao"]=> string(20) "Vestido em Tricoline" ["cor_id"]=> string(2) "20" ["tamanho_id"]=> string(1) "5" ["categoria_id"]=> string(1) "2" } * inicio funcao alteraProduto *
This is the product-altering file:
<?php
require_once 'conecta.php';
require_once 'banco-produto.php';
require_once 'banco-cor.php';
require_once 'banco-tamanho.php';
require_once 'banco-categoria.php';
require_once 'produto.php';
require_once 'cor.php';
require_once 'tamanho.php';
require_once 'categoria.php';
$produto = new Produto();
echo ("* inicio alteração * "); //Aviso de teste
$produto->setId( $_POST['id'] );
$produto->setCodigo( $_POST["codigo"]) ;
$produto->setNome( $_POST["nome"]);
$produto->setPreco( $_POST["preco"]);
$produto->setDescricao( $_POST["descricao"]);
$produto->setCor(new Cor());
$produto->setCor( $_POST["cor_id"]);
$produto->setTamanho(new Tamanho());
$produto->setTamanho( $_POST["tamanho_id"]);
$produto->setCategoria(new Categoria());
$produto->setCategoria( $_POST["categoria_id"]);
echo ("* Envia para Banco Produto * "); //Aviso de teste
var_dump($_POST);
Thank you very much Hertel on the fly!!! Solved.
– Sergio Guerjik
You are welcome. If you have any more problems open a new question.
– jlHertel