IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

modifier enregistrement mysql et php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut modifier enregistrement mysql et php
    Bonjours,

    Je souhaiterai implémenter le fait de pouvoir modifier les informations d'un utilisateur pour cela j'utilise un formulaire, l'utilisateur change ses informations et quand il clique sur modifier, on message lui dit que cela été effectuer ou non.
    le problème est que la modification est effective sauf dans la bdd.
    je vous met le code de la fonction permettant la modification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public function modifierUtilisateur($identifiant,$nom,$prenom,$mail,$tel)
            {
                $requete = $this->connexion->prepare('UPDATE Utilisateur SET identifiant='.$identifiant.' nom='.$nom.' prenom='.$prenom.' mail='.$mail.' tel='.$tel.' WHERE identifiant='.$identifiant);
                $requete->fetchAll(PDO::FETCH_ASSOC);
            }
    EDIT 1: en supposant qu'il garde le meme nom d'utilisateur. c'est juste un détail a réglé.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    pas de $requete->execute(); ??

  3. #3
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    j'ai essayer avec la méthode execute() mais il me retourne une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'nom=Laubry prenom=Anthony mail=etern-al@hotmail.com tel=0498335373 WHERE identif' at line 1' in /home/a1627166/public_html/connexion_base.php:69 Stack trace: #0 /home/a1627166/public_html/connexion_base.php(69): PDOStatement->execute() #1 /home/a1627166/public_html/script_modifier_compte.php(29): ConnexionBase->modifierUtilisateur('dharkan', 'Laubry', 'Anthony', 'etern-al@hotmai...', '0498335373') #2 {main} thrown in /home/a1627166/public_html/connexion_base.php on line 69
    cette erreur me dit qu'il y a une erreur de sql et me renvoit à execute().

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est ta requete qui est fausse,
    - principalement à cause d'une confusion entre les ' (php) et ' (SQL)
    - et manque de , :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
     
                $requete = $this->connexion->prepare('UPDATE Utilisateur SET identifiant='.$identifiant.' nom='.$nom.' prenom='.$prenom.' mail='.$mail.' tel='.$tel.' WHERE identifiant='.$identifiant);
    ?>
    A remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
                $requete = $this->connexion->prepare("UPDATE Utilisateur SET identifiant='$identifiant', nom='$nom', prenom='$prenom', mail='$mail', tel='$tel' WHERE identifiant='$identifiant';");
    ?>
    OU
    <?php
                $requete = $this->connexion->prepare('UPDATE Utilisateur SET identifiant=\''.$identifiant.'\', nom=\''.$nom.'\', prenom=\''.$prenom.'\', mail=\''.$mail.'\', tel=\''.$tel.'\' WHERE identifiant=\''.$identifiant.'\';');
    ?>
    OU ENCORE
    <?php
                $requete = $this->connexion->prepare("UPDATE Utilisateur SET identifiant='".$identifiant."', nom='".$nom."', prenom='".$prenom."', mail='".$mail."', tel='".$tel."' WHERE identifiant='".$identifiant."';");
    ?>

  5. #5
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    comme dans mon premier post ou j'expose le problème la modification se fait bel est bien mais pas dans la base de données. c'est bizarre je trouve

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dharkan Voir le message
    la modification se fait bel est bien mais pas dans la base de données. c'est bizarre je trouve
    Bizarre est le mot !
    Elle se fait où alors, cette modification ?
    Sur le site de ton voisin ? Dans la culotte du zouave ? ...

    Mais je t'invite aussi à (re-)lire ce qu'est une "requête préparée" :
    => Comprendre PDO : Les requêtes préparées

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] array php modifié par mysql array php
    Par fahdo dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/07/2014, 11h46
  2. Modifier bdd mysql via formulaire php
    Par dufeu456 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/01/2014, 12h21
  3. [MySQL] Défilement d'enregistrement suivant/précedent php/mysql
    Par design_57 dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 13/07/2013, 20h56
  4. Réponses: 4
    Dernier message: 05/12/2006, 20h13
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo