Il y a 2 gros problèmes dans votre code :
- Visibilité variable
- Appel statique
En détail :
-
En oop, vous devriez oublier les variables globales. Ils sont contre le principe de l'encapsulation. De plus, vous n'avez même pas de variable globale dans votre code, donc
global $db;
ligne n'a pas de sens. Déclarez une variable privée $db au niveau de la classe (property ) l'initialiser dans la méthode connection() et y accéder dans la méthode insert. -
Vous appelez la méthode de connexion en tant que
classo::connection();
. Cependant, vous devrez déclarer la méthode de connexion comme static . Déclarez votre méthode de connexion comme statique (mais changez ensuite $db en statique également), ou appelez-la comme une méthode régulière en utilisant $this.