Bonjour,
je suis actuellement en train de suivre le tutoriel de développement d'un site en PHP (Jour 3) et j'ai un petit soucis.

J'ai lu et relu x fois mon code mais l'erreur subsiste :
"Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\monsite\Site\core\Model.php on line 48"

Or, ma ligne 48 est la même que dans le tutoriel :
ma ligne 48 : $pre = $this->db->prepare($sql);

J'ai effectuer des recherches sur le web mais je ne trouve toujours pas la solution.

Auriez-vous une idée pour m’ôter cette épine du pied ?

Bonne journée !

Cordialement,
AerO

8 réponses


pierrejqs
Auteur
Réponse acceptée

C'est bon, c'est résolu. Juste une histoire d'accolades fermées au mauvais endroit.

L'erreur dit que db n'est pas définit ou n'est pas un objet qui a la méthode prepare. Vérifie que tu initialise bien db.

Merci d'avoir pris le temps de répondre,
j'avais bien déclaré $db avec public $db;
Est-ce ceci qui pose problème ?

Essaie global $db; dans ta fonction. ^^

remplacer public $db; par global $db ?
Voici l'erreur que j'obtiens : Parse error: syntax error, unexpected 'global' (T_GLOBAL), expecting function (T_FUNCTION)

Non mais tu places global $db; dans ta fonction ou tu exec ta requête. Laisse ta variable public $db; sinon pu rien n'est déclarer.
Et c'est pas dit que ce sois ça ^^

J'ai essayé, mais ça me dit que ça ne peut executer quelque chose de vide.
Je vais recommencer a partir du jour 2 calmement, peut-être que j'y arriverais.
Je laisse le topic en l'état, si jamais mon erreur ne persiste pas je validerais le sujet.

Merci a ceux qui ont pris la peine de répondre. Aussi je tiens à féliciter toute cette petite communautée. Très agréable d'ailleurs ;)

Moi, je vois que tu n'as pas instancier ta connexion.
Soit tu l'as perdu ou écraser en cours de route.
Soit tout simplement tu n'as pas réussi ta connexion.

Fait un try catch dans ton initialisation de connexion ou un or die() pour voir si tu arrive a te connecter.