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

Erro fatal:Usando $ this quando não estiver no contexto do objeto em


Como o erro diz, você não pode usar $this fora da definição de classe. Para usar $_db fora da definição da classe, primeiro torne-a public em vez de private :

public $_db

Então, use este código:
$authDb = new AuthDb();
$authDb->_db->prepare($query); // rest of code is the same

--

Você precisa entender o que $this realmente significa. Quando usado dentro de uma definição de classe, $this é usado para se referir a um objeto dessa classe. Então, se você tivesse uma função foo dentro de AuthDB , e você precisava acessar $_db de dentro de foo , você usaria $this para dizer ao PHP que você quer o $_db do mesmo objeto que foo pertence a.

Você pode querer ler esta pergunta do StackOverflow:PHP:self vs $this