Programmation Orienté Objet - Page 3
Résolu
Précédent
- 1
- 2
- 3
-
Bonjour
C'est encore moi j'aurai besoin encore de toi s'il te plait.
Il y a aussi quelque chose de pas normal. Lorsque je fait une modif mon formulaire à l'affichage ne garde pas les valeurs, je suis obligé de me déconnecter puis me reconnecter pour que les modifs soient afficher dans le formulaire.
Merci j'espère que tu comprends ce que je veux dire. -
salut,
Mais voilà dans ma tête c'est pas clair du tout.
Déjà pourquoi dans le WHERE il n'y a pas plutôtWHERE id_adherent= id_adherent');
je ne sais pas c'est toi le programmeur qui a écrit cela^^
si tu faiswhere id_adherent=id_adherent
cela c'est stupide car tu demandes l'id_adherent de la table tb_adherent où l'id_adherent est égal à une valeur. Autrement si la valeur est 5, tu demandes d'afficher le numéro de l'adhérent numéro 5 donc grosso modo 5.
mais maintenant j'ai pu voir où est le problème, $this->id_adherent n'a pas de valeur car visiblement après ton select tu lui en affectes une.
mais ce que j'avais demandé, c'était plutôt ça :
public function update() { $req = self::$db->prepare('UPDATE tb_adherent SET nom = :nom, prenom = :prenom, email = :email, naissance = :naissance, fixe = :fixe, mobile = :mobile, adresse = :adresse, lieu_dit = :lieu_dit, code_postal = :code_postal, ville = :ville, username = :username, password = :password WHERE id_adherent = :id_adherent'); $req->bindParam(':id_adherent', $this->id_adherent, PDO::PARAM_INT); $req->bindParam(':nom', $this->nom, PDO::PARAM_STR); $req->bindParam(':prenom', $this->prenom, PDO::PARAM_STR); $req->bindParam(':email', $this->email, PDO::PARAM_STR); $req->bindParam(':naissance', $this->naissance, PDO::PARAM_STR); $req->bindParam(':fixe', $this->fixe, PDO::PARAM_STR); $req->bindParam(':mobile', $this->mobile, PDO::PARAM_STR); $req->bindParam(':adresse', $this->adresse, PDO::PARAM_STR); $req->bindParam(':lieu_dit', $this->lieu_dit, PDO::PARAM_STR); $req->bindParam(':code_postal', $this->code_postal, PDO::PARAM_STR); $req->bindParam(':ville', $this->ville, PDO::PARAM_STR); $req->bindParam(':username', $this->username, PDO::PARAM_STR); $req->bindParam(':password', $this->password, PDO::PARAM_STR); echo $req; $req->execute(); }
voir ce qu'affiche le contenu de $req et exécuter la ligne dans ton SGBD pour savoir quelles erreurs vont pas.
Qui ne tente rien n'a rien -
Bonjour
Dis moi juste quelle ligne j'affiche dans ma BDD?
parce que avec
echo $req ça retourne
Catchable fatal error: Object of class PDOStatement could not be converted to string in C......
sinon ok j'avais pas penséwhere id_adherent=id_adherent
-
bonsoir,
étrange... mais au vu que ton select que tu fais dans update() fait fonctionner la méthode update(), je parie que le problème est this->adherent qui n'est pas initialisé. fais echo this->adherent au début de update pour voir si il a une valeur.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Je ne sais pas si c'est bien ici qu'il faut faire le echo mais si c'est le cas ça me retourneparse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in C:
public function UpdateMembre() { echo $this->id_adherent $req = self::$db->prepare('SELECT id_adherent FROM tb_adherent WHERE username = :username'); $req->bindParam(':username', $this->username, PDO::PARAM_STR); $req->execute(); $this->id_adherent = $req->fetchColumn();
sinon le SELECT est-il vraiment indispensable? c'est juste une question en fait comme je débute en POO.
Merci -
bonsoir,
mets un ';' à la fin du echo!
non le select théoriquement on en a pas besoin si l'attribut id_adherent est déjà initialisé. ce que va nous dire le echo
-
Bonjour
Donc voilà pour récapituler, après avoir mis echo $this->id_adherent; après le UpdateMembre aucune erreur retournée.
Toutes les modifs s'effectue bien dans ma BDD sauf que pour l'affichage dans le formulaire les données n'apparaissent pas à l'instantanée il faut toujours que je me déconnecte et me reconnecte pour les valeurs prennent effets pour l'affichage.
Merci de ton aide.
Précédent
- 1
- 2
- 3