sql >> Database >  >> RDS >> Mysql

FOUT in PDO:oproep naar een lidfunctie prepare() op null

Er zijn 2 grote problemen in uw code:

  1. Variabele zichtbaarheid
  2. Statische oproep

In detail:

  1. Oeps, je zou globale variabelen moeten vergeten. Ze zijn tegen het principe van inkapseling. Bovendien heb je niet eens een globale variabele in je code, dus global $db; lijn is zinloos. Declareer een privé $db-variabele op klasseniveau (eigenschap ) initialiseer het in de methode connection() en open het in de methode invoegen.

  2. Je roept de verbindingsmethode aan als classo::connection(); . U moet echter de verbindingsmethode declareren als statisch . Declareer je verbindingsmethode als statisch (maar verander $db dan ook in statisch), of roep het aan als een normale methode met $this.




  1. mySQL ::invoegen in tabel, gegevens uit een andere tabel?

  2. ORA-00911:ongeldig teken

  3. PL/SQL - Voorbeeld van toepassingsfout verhogen

  4. SQL Server CTE en recursie voorbeeld