Estou com um problema para adicionar e listar do banco de dados, fui testando por partes para ver aonde seria o problema , e a princípio é o ProdutoDao, vou postar o código, se puder me ajudar.
function listaProdutos(){
$produtos = array();
$resultado = mysqli_query($this->conexao, "select p.*, c.nome as categoria_nome from produtos p join categorias c on c.id=p.categoria_id;");
while ($produto_atual = mysqli_fetch_assoc($resultado)) {
$categoria = new Categoria();
$categoria->setNome($produto_atual['categoria_nome']);
if($produto_atual['tipoProduto'] == "Livro"){
$produto = new Livro($produto_atual['nome'], $produto_atual['preco'], $produto_atual['descricao'], $categoria, $produto_atual['usado']);
$produto->setIsbn($produto_atual['isbn']);
} else {
$produto = new Produto($produto_atual['nome'], $produto_atual['preco'], $produto_atual['descricao'], $categoria, $produto_atual['usado']);
}
$produto->setId($produto_atual['id']);
array_push($produtos, $produto);
}
return $produtos;
}
function insereProdutos(Produto $produto){
if($produto->temIsbn()){
$isbn = $produto->getIsbn();
} else {
$isbn = "";
}
$tipoProduto = get_class($produto);
$nome = mysqli_real_escape_string($this->conexao, $nome);
$descicao = mysqli_real_escape_string($this->conexao, $descricao);
$preco = mysqli_real_escape_string($this->conexao, $preco);
$query = "insert into produtos (nome, preco, descricao, categoria_id, usado, isbn, tipoProduto) values ('{$produto->getNome()}', '{$produto->getPreco()}', '{$produto->getDescricao()}', '{$produto->getCategoria()->getId()}', '{$produto->getUsado()}', '{$isbn}', '{$tipoProduto}')";
$resultadoDaInsercao = mysqli_query($this->conexao, $query);
return $resultadoDaInsercao;
}