Ao tentar criar o método carregar na classe Conexão, conforme explicado na aula 03 - "Carregando a categora" estou recebendo o erro "Fatal error: Uncaught Error: Call to a member function fetchAll() on bool in C:\Informatica\PHP_com_PDO\classes\Categoria.php:26 Stack trace: #0 C:\Informatica\PHP_com_PDO\categorias-editar.php(6): Categoria->carregar() #1 {main} thrown in C:\Informatica\PHP_com_PDO\classes\Categoria.php on line 26"
<?php
use classes\Conexao;
require_once 'classes/Conexao.php';
class Categoria
{
public $id;
public $nome;
public function listar()
{
$query = "SELECT id, nome FROM categorias";
$conexao = Conexao::pegarConexao();
$resultado = $conexao->query($query); #retorna um PHP statement com várias informações
$lista = $resultado->fetchAll();
return $lista;
}
public function carregar()
{
$query = "SELECT id,nome FROM categorias WHERE id = '".$this->id;
$conexao = Conexao::pegarConexao();
$resultado = $conexao->query($query);
$lista = $resultado->fetchAll();
foreach ($lista as $linha){
$this->nome = $linha['nome'];
}
}
public function inserir()
{
$query = "INSERT INTO categorias (nome) VALUES ('". $this->nome . "')";
$conexao = Conexao::pegarConexao();
$conexao->exec($query); # Apenas executa uma informação, usados em INSERTS, UPDATEs
}
public function atualizar() {
$query = "UPDATE categorias SET nome = '".$this->nome."' WHERE id = '".$this->id;
$conexao = Conexao::pegarConexao();
$conexao->exec($query);
}
}