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

Requêtes MySQL Discussion :

UPDATE ne fonctionne pas


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 4
    Points
    4
    Par défaut UPDATE ne fonctionne pas
    Bonjour,
    J'essaie de faire une modification à une table mais rien ne fonctionne lorsque j'utilise des variables dans la commande SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    if(isset($_POST['ok_modif']))
       {
          $datenaisp = $_POST['datenaispost'];
          $nom = $_POST['nompost'];
          try
             { 
                if(!($id=mysql_connect('localhost', '**********', '*********')))
                   {
                      echo "Erreur de connexion";
                      exit();
                   }
                if(!(mysql_select_db('fmoffatt_video',$id)))
                   {
                      echo "Erreur de selection";
                      exit();
                   }
                   $monsqlmod = 'UPDATE acteur SET acteur_date_nais="' .$datenaisp. '" WHERE acteur_nom="' .$nom. '"';
                   $result=mysql_query($monsqlmod) OR die(mysql_error());
    J'utilise MySQL version 5.0.89-community et PHP version 5.2.11 (open source)
    de mon hosteur.

    Si je code la commande SQL sans variable, ça fonctionne très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $monsqlmod = 'UPDATE acteur SET acteur_date_nais="1966-06-27" WHERE acteur_nom="Abrams J.J. (auteur)"';
    Je ne vois pas du tout quelle est mon erreur.
    Merci.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 901
    Points : 6 026
    Points
    6 026
    Par défaut
    Une erreur est-elle rapportée lors de l'exécution ? Si oui, laquelle?
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre habitué
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Bonjour,

    pense à utiliser la balise CODE pour que ce soit plus lisible !
    Si ton $_POST['modif'] n'existe pas, tes variables $datenaisp et $nom sont vides non ?
    Cordialement.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    Non il n'y a aucune erreur lors de l'exécution et aucune mise à jour ne se fait et non mes variables $nom et $datenaisp ne sont pas vide.
    echo $datenaisp; donne 1958-06-27
    echo $nom; donne Abrams J.J. (auteur)
    echo $monsqlmod; donne :
    UPDATE acteur SET acteur_date_nais="1958-06-27" WHERE acteur_nom=" Abrams J.J. (auteur)"
    C'est ce qui en fait un cas inexplicable...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 4
    Points
    4
    Par défaut UPDATE ne fonctionne pas
    Bonjour,
    J'ai finalement trouvé la réponse. Un espace blanc est inséré au début de ma variable $nom lors de la concaténation dans l'instruction SQL. Quelle est la raison de ça, vu que dans ma variable $nom, il n'y a pas d'espace blanc au début ?
    Donc avec l'instruction SQL suivante, à laquelle j'ai ajouté un trim(), tout fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $monsqlmod = 'UPDATE acteur SET acteur_date_nais="'.$datenaisp.'" WHERE acteur_nom="'.trim($nom).'"';
    Merci beaucoup !

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

Discussions similaires

  1. [MySQL] Update ne fonctionnant pas à la première exécution
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/11/2006, 18h25
  2. Chaîne SQL update ne fonctionne pas (faut-il l'imbriquer ?"
    Par beegees dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/10/2006, 11h22
  3. UPDATE ne fonctionne pas ?
    Par crocodile dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/07/2006, 16h50
  4. Requete UPDATE ne fonctionnant pas
    Par Yanmeunier dans le forum Access
    Réponses: 3
    Dernier message: 12/04/2006, 17h19
  5. Microsoft Update ne fonctionne pas sous Win 2000 SP4
    Par botakelymg dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 03/10/2005, 05h32

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