Mysql
 sql >> Datenbank >  >> RDS >> Mysql

FEHLER in PDO:Aufruf einer Mitgliedsfunktion 'prepare()' auf null

Es gibt zwei große Probleme in Ihrem Code:

  1. Variable Sichtbarkeit
  2. Statischer Anruf

Im Einzelnen:

  1. In oop sollten Sie globale Variablen vergessen. Sie sind gegen das Prinzip der Kapselung. Außerdem haben Sie nicht einmal eine globale Variable in Ihrem Code, also global $db; Zeile ist bedeutungslos. Deklarieren Sie eine private $db-Variable auf Klassenebene (property ). ) in der connection()-Methode initialisieren und in der insert-Methode darauf zugreifen.

  2. Sie rufen die Verbindungsmethode als classo::connection(); auf . Allerdings müssten Sie die Verbindungsmethode als statisch deklarieren . Deklarieren Sie Ihre Verbindungsmethode entweder als statisch (ändern Sie dann aber auch $db in statisch) oder rufen Sie sie mit $this.

    als reguläre Methode auf