sql >> Databasteknik >  >> RDS >> Mysql

FEL i PDO:Anrop till en medlemsfunktion prepare() på null

Det finns två stora problem i din kod:

  1. Variabel synlighet
  2. Statiskt samtal

I detalj:

  1. I oop bör du glömma globala variabler. De strider mot principen om inkapsling. Dessutom har du inte ens någon global variabel i din kod, så global $db; linje är meningslös. Deklarera en privat $db-variabel på klassnivå (egendom ) initiera den i connect()-metoden och få tillgång till den i insert-metoden.

  2. Du anropar anslutningsmetoden som classo::connection(); . Du måste dock deklarera anslutningsmetoden som statisk . Deklarera antingen din anslutningsmetod som statisk (men ändra sedan $db till statisk också), eller kalla den som en vanlig metod med $this.




  1. Hur hämtar man data från 2 tabeller?

  2. com.mysql.jdbc.PacketTooBigException java

  3. Extrahera veckonummer från ett datum i SQL Server (T-SQL)

  4. SQL ROWNUM hur man returnerar rader mellan ett specifikt intervall