Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd krytyczny:używanie $this, gdy nie znajduje się w kontekście obiektu w

Jak mówi błąd, nie możesz użyć $this poza definicją klasy. Aby użyć $_db poza definicją klasy, najpierw ustaw ją public zamiast private :

public $_db

Następnie użyj tego kodu:

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

--

Musisz zrozumieć, co $this faktycznie oznacza. W przypadku użycia wewnątrz definicji klasy, $this jest używany w odniesieniu do obiektu tej klasy. Więc jeśli masz funkcję foo wewnątrz AuthDB , i trzeba było uzyskać dostęp do $_db z wnętrza foo , użyjesz $this aby powiedzieć PHP, że chcesz $_db z tego samego obiektu, co foo należy do.

Możesz przeczytać to pytanie StackOverflow:PHP:self vs $this




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Relacja tabeli dla podtypów

  2. SELECT COUNT(*) AS count - Jak korzystać z tej liczby

  3. PHP asynchroniczne zapytanie mysql

  4. Wersjonowanie wierszy w MySQL

  5. Przygotowana instrukcja MySql Connector przesyła tylko 64 bajty