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

BŁĄD w PDO :Wywołanie funkcji członkowskiej Prepare() na null

W Twoim kodzie są 2 duże problemy:

  1. Zmienna widoczność
  2. Połączenie statyczne

Szczegółowo:

  1. W oop powinieneś zapomnieć o zmiennych globalnych. Są przeciwne zasadzie hermetyzacji. Co więcej, nie masz nawet żadnej zmiennej globalnej w swoim kodzie, więc global $db; linia jest bez znaczenia. Zadeklaruj prywatną zmienną $db na poziomie klasy (właściwość ) zainicjuj go w metodzie connection() i uzyskaj do niego dostęp w metodzie insert.

  2. Wywołujesz metodę połączenia jako classo::connection(); . Jednak musisz zadeklarować metodę połączenia jako statyczną . Albo zadeklaruj swoją metodę połączenia jako statyczną (ale potem zmień $db na statyczną) lub wywołaj ją jako zwykłą metodę używając $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. Zapytanie do tabeli przestawnej MySQL z dynamicznymi kolumnami

  2. Wyjątek mySQL:nie można połączyć się z żadnym z określonych hostów MySQL. przez C#

  3. Grupuj wyniki mysql według kategorii i wyświetlaj je w grupach w każdej kategorii

  4. Implementacja MySQL w SQL Server 2005 ZAMIENIĆ NA?

  5. Jak uciec od pojedynczych cudzysłowów w MySQL