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 :

Script PHP avec requête UPDATE [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Par défaut Script PHP avec requête UPDATE
    Bonjour à tous,
    J'ai un problème avec une requête UPDATE sur une table , Il n'y a pas de message d'erreurs mais la modification ne se fait pas; le code est :
    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
    20
    <?php // Prise en charge de la demande d'intervention
    $formCat = $_POST['Listcat'];
    $formAgent = $_POST['Listagent'];
    $formNum = $_POST['NI'];
    if(!empty($formCat) && !empty($formAgent) ){
      echo 'Les champs clés ont été correctement renseignés';
      $mysql_link = mysql_connect("localhost","root","mysql");
         if($mysql_link)
         {
          // Requete de mise à jour  MYSQL
          $requete = "UPDATE di_attente SET cat_interv='$formCat' SET etat='En_cours' Where num_int=".$formNum."";
          $execution = mysql_db_query("gdi", $requete);
           echo "<font face='Verdana' size='2'>Les valeurs ont bien été enregistrées dans la base de données <b>di_attente</b></font>";
    	   }
    }
      else{
        //il y a des champs vide
        echo 'merci de remplir  les 2 champs avant de valider';
    }
    ?>
    Je ne comprend pas où réside le problème????

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Bonjour,
    quelques petites choses

    apres ta requete tu peux utiliser déjà le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (!$execution ) {
        echo "Erreur DB, impossible d'effectuer une requête\n";
        echo 'Erreur MySQL : ' . mysql_error();
        exit;
    }
    Ainsi s'il y a une erreur, tu pourras en connaitre la cause.
    Quand tu fais un echo de $requete obtiens tu une requete valide, qui fonctionne sous phpmyadmin ?


    Dernier point, l'écriture de ta requete n'est pas tres uniforme.
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete = "UPDATE di_attente SET cat_interv='$formCat' SET etat='En_cours' Where num_int=".$formNum."";
    Fait plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete = "UPDATE di_attente SET cat_interv='" . $formCat . "' SET etat='En_cours' Where num_int=".$formNum;

  3. #3
    Membre éclairé Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Par défaut
    après avoir pris en considération les remarques de "Bebel" voilà, le message d'erreur qui s'affiche:
    Erreur DB, impossible d'effectuer une requête Erreur MySQL : Erreur de syntaxe près de 'SET etat='En_cours' Where num_int=2010_4' à la ligne 1
    JE dois impérativement trouver le HIC !!

    Merci

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Essayes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete = "UPDATE di_attente SET cat_interv='" . $formCat . "',  etat='En_cours' Where num_int=".$formNum;
    Pourquoi répéter le SET

    Edit: 1 espace seulement entre la virgule et le 'etat ...', C l'éditeur qui induit en erreur.

  5. #5
    Membre éclairé Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Par défaut
    Citation Envoyé par Fench Voir le message
    Essayes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete = "UPDATE di_attente SET cat_interv='" . $formCat . "',  etat='En_cours' Where num_int=".$formNum;
    Pourquoi répéter le SET

    Edit: 1 espace seulement entre la virgule et le 'etat ...', C l'éditeur qui induit en erreur.
    maintenant le message d'erreur est le suivant:
    Erreur DB, impossible d'effectuer une requête Erreur MySQL : Champ '2010_6' inconnu dans where clause
    alors que cette valeur est bel et bien dans la table

  6. #6
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Il te manque les ' autour de ta valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = "UPDATE di_attente SET cat_interv='" . $formCat . "',  etat='En_cours' Where num_int='".$formNum . "'";

  7. #7
    Membre éclairé Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Par défaut
    Citation Envoyé par Bebel Voir le message
    Il te manque les ' autour de ta valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = "UPDATE di_attente SET cat_interv='" . $formCat . "',  etat='En_cours' Where num_int='".$formNum . "'";
    C'est bon !!!!!!!!!!!! c'est ce qui me manquait effectivement !!


    Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

    C'est une bénédiction du ciel ce forum, je ne l'aurais pas trouvé sans vous !!!


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

Discussions similaires

  1. [MySQL] Script php avec requête SQL
    Par Thibault85 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/06/2014, 11h01
  2. [SQL-Server] Erreur 500 lors d'un script php avec sql
    Par DeusDavid dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/12/2006, 18h47
  3. Background d'un script php avec perl et unix (ou linux)
    Par fichiertempo dans le forum Web
    Réponses: 4
    Dernier message: 20/07/2006, 07h03
  4. Problèmes de timeout pour un script PHP avec Apache
    Par bluemartini dans le forum Apache
    Réponses: 2
    Dernier message: 11/07/2006, 16h16
  5. [VB6] Problème avec requête Update
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/02/2006, 03h40

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