Es gibt zwei große Probleme in Ihrem Code:
- Variable Sichtbarkeit
- Statischer Anruf
Im Einzelnen:
-
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. -
Sie rufen die Verbindungsmethode als
als reguläre Methode aufclasso::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.