|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 6 ![]() |
Salut tout le monde,
Je suis en train de faire un site avec des utilisateurs qui peuvent s'inscrire. J'utilise PDO et ma connexion est dans une classe DB. Voici les codes : Code :
Et mon code pour un INSERT TO : Code :
Fatal error: Call to undefined method DB::prepare() in C:\Program Files (x86)\EasyPHP-12.1\www\pizzaalex\formulaireinscription.inc.php on line 113 Cette ligne correspond au code du INSERT INTO. Merci de votre aide, je désespère... |
||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Étudiant Inscription : avril 2012 Messages : 612 ![]() |
Bonsoir,
ou instancie tu ton objet $DB? De plus tu fait $BD->prepare() alors que dans ta class DB tu ne déclare pas cette méthode et tu ne fait pas d'héritage de la classe PDO donc tu ne récupère pas les méthodes de le class PDO. Pour que cela fonctionne, Dans ta class DB tu as un attribut bdd qui est un objet PDO donc pour accéder aux méthodes PDO tu doit passer par cet attribut, pour ce faire étant donné qu'il est déclaré en private dans ta classe tu doit passer par un accesseur, c'est une méthode qui te retourne un objet privé de ta classe, exemple pour ta classe avec un accesseur pour récupérer l'objet bdd de la classe DB: Code :
Code :
$test = $DB->getBdd()->prepare('ta requête'); |
||
|
|
10
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 6 ![]() |
Merci beaucoup Exia, c'est très gentil de ta part, ça marche maintenant !
J'avais peur d'être le seul ayant ce problème... j'avais trouvé beaucoup d'info sur les INSERT TO mais pas quand la connexion est codée en objet... Pour $DB, j'ai mis dans mon header (que je "include" pour chaque page de mon site) les lignes : Code :
(et merci pour les explications très claires) |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com