sql >> Base de Datos >  >> RDS >> Mysql

Error fatal:usar $ esto cuando no está en el contexto del objeto en

Como dice el error, no puedes usar $this fuera de la definición de clase. Para usar $_db fuera de la definición de clase, primero hágalo public en lugar de private :

public $_db

Luego, usa este código:

$authDb = new AuthDb();
$authDb->_db->prepare($query); // rest of code is the same

--

Tienes que entender lo que $this en realidad significa. Cuando se usa dentro de una definición de clase, $this se utiliza para referirse a un objeto de esa clase. Entonces, si tuviera una función foo dentro de AuthDB , y necesitabas acceder a $_db desde dentro de foo , usaría $this para decirle a PHP que desea el $_db del mismo objeto que foo pertenece a.

Es posible que desee leer esta pregunta de StackOverflow:PHP:self vs $this