sql >> Database teknologi >  >> RDS >> Mysql

Fatal fejl:Brug af $this, når den ikke er i objektkontekst i

Som fejlen siger, kan du ikke bruge $this uden for klassedefinitionen. For at bruge $_db uden for klassedefinitionen skal du først gøre den public i stedet for private :

public $_db

Brug derefter denne kode:

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

--

Du skal forstå hvad $this betyder faktisk. Når det bruges i en klassedefinition, $this bruges til at henvise til et objekt i den pågældende klasse. Så hvis du havde en funktion foo inde i AuthDB , og du skulle have adgang til $_db inde fra foo , ville du bruge $this for at fortælle PHP, at du vil have $_db fra det samme objekt som foo tilhører.

Du vil måske læse dette StackOverflow-spørgsmål:PHP:self vs $this




  1. Hvordan kan jeg bruge en mySQL SELECT IF-sætningsrække til at JOIN en anden tabel?

  2. FieldShield SDK

  3. PHP hvordan man gemmer HTML-streng i databasen

  4. Genvind diskplads efter drop database i mysql