Hay 2 grandes problemas en su código:
- Visibilidad de variables
- Llamada estática
En detalle:
-
En oop debes olvidarte de las variables globales. Están en contra del principio de encapsulación. Además, ni siquiera tiene ninguna variable global en su código, por lo que
global $db;
la línea no tiene sentido. Declare una variable $db privada a nivel de clase (propiedad ) inicialícelo en el método de conexión() y acceda a él en el método de inserción. -
Está llamando al método de conexión como
classo::connection();
. Sin embargo, deberá declarar el método de conexión como static . Declare su método de conexión como estático (pero luego cambie $db a estático también), o llámelo como un método normal usando $this.