Mysql
 sql >> Base de données >  >> RDS >> Mysql

ERREUR dans PDO :Appel à une fonction membre prepare() sur null

Il y a 2 gros problèmes dans votre code :

  1. Visibilité variable
  2. Appel statique

En détail :

  1. 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.

  2. 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.