Erro de função de membro nulo: um problema na conectividade do banco de dados
Ao encontrar um erro "Chamada para uma função de membro prepare() em nulo" , o problema geralmente decorre de uma variável não inicializada na instância da classe. No seu caso, o problema está na falta de inicialização da variável $pdo.
Na sua classe Category, os métodos fetch_all() e fetch_data() requerem uma conexão PDO. No entanto, o código fornecido não estabelece esta conexão explicitamente. Para resolver esse erro, você precisa garantir que a variável $pdo seja inicializada dentro do escopo global antes de chamar os métodos da classe.
prepare("SELECT * FROM dd_cat");
$query->execute();
return $query->fetchAll();
}
public function fetch_data($cat_id) {
global $pdo;
// Use the initialized $pdo variable to prepare the SQL query
$query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?");
$query->bindValue(1, $cat_id);
$query->execute();
return $query->fetch();
}
}
?>
Ao inicializar a variável $pdo globalmente e garantir que ela seja usada nos métodos de classe, você estabelecerá uma conexão de banco de dados adequada e resolverá o erro "Chamada para uma função de membro prepare() em nulo".
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3