Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

ERRO no PDO:Chamada para uma função de membro prepare() em null


Existem 2 grandes problemas no seu código:
  1. Visibilidade da variável
  2. Chamada estática

Em detalhe:

  1. Em oop, você deve esquecer as variáveis ​​globais. Eles são contra o princípio do encapsulamento. Além disso, você não tem nenhuma variável global em seu código, então global $db; linha não tem sentido. Declare uma variável $db privada no nível da classe (propriedade ) inicialize-o no método connection() e acesse-o no método insert.

  2. Você está chamando o método de conexão como classo::connection(); . No entanto, você precisaria declarar o método de conexão como static . Declare seu método de conexão como estático (mas altere $db para estático também) ou chame-o como um método regular usando $this.