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 :

Update SET


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut Update SET
    Bonjour,

    J'ai un léger probleme d'update. Cela m'affiche que la mise à jour a été faite avec succes mais lorsque je regarde dans ma base les champs n'ont pas été modifiés comme prévu

    Voici le code de la page :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?php
    session_start();
    require("protect/conf.php");
     
     
    if (!isset($_SESSION['pseudo']))
    {
    	die('Vous n\'êtes pas autorisez à acceder à cette page.');
    }
    $email = $_POST['email'];
    $adresse = $_POST['adresse'];
    $cp = $_POST['cp'];
    $ville = $_POST['ville'];
    $pays = $_POST['pays'];
    $tel = $_POST['tel'];	
     
    $sql = connect_sql(); //Connection...
     
    $pseudo = $_SESSION['pseudo'];
     
    $requete = mysql_query("SELECT * FROM membres,civilite WHERE membres.pseudo='$pseudo' AND membres.id=civilite.id"); 
    $var = mysql_fetch_array ($requete);
     
    $email = $var['email'];
    $adresse = $var["adresse"];
    $cp = $var["cp"];
    $ville = $var["ville"];
    $pays = $var["pays"];
    $tel = $var["tel"];
     
    if (count($requete) <= 0) { 
    header("Location:../../index.php?page=erreur"); 
    }
    else
    {
    mysql_query ("UPDATE membres SET email='$email' WHERE membres.pseudo='$pseudo'");
     
    mysql_query ("UPDATE civilite SET adresse='$adresse', cp='$cp', ville='$ville', pays='$pays', tel='$tel' WHERE membres.pseudo=civilite.id");
     
    header("Location:../../index.php?page=modif_succes"); 
    } 
     
    mysql_close($sql); 	
    ?>
    Je ne sais plus trop comment faire, j'ai tenté plusieur possibilité mais sans suite...

    Si une personne pouvait m'éclairer...

  2. #2
    Membre éclairé Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Par défaut
    A première vue tu fais ton SELECT avant ton UPDATE ...

    Donc meme si ton UPDATE passe bien ... Tu ne le vois pas à l'affichage.

    Seulement je pense qu'en base c'est bon ...

  3. #3
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    tu ne peux pas savoir si ton update se passe bien, car tu ne fais pas de test avec mysql_affected_rows()
    http://gr2.php.net/manual/fr/functio...ected-rows.php
    meme si ton update se passe mal, ton header te renvoie sur la page modif_success.

    fais un echo de tes requettes et fais les tourner dans phpmyadmin pour voir ce qui ne va pas

  4. #4
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    slt, t'a fais un echo de ta requete et qu'est ce que ça donne?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Il est normal de faire un select avant pour récupérer les paramètres à modifier...

    ça vient d'où alors

  6. #6
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    relis mon post, un peu au dessus

  7. #7
    Membre chevronné Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query ("UPDATE civilite SET adresse='$adresse', cp='$cp', ville='$ville', pays='$pays', tel='$tel' WHERE membres.pseudo=civilite.id");
    euh... tu es sûr de ta requête ? membres.pseudo=civilite.id ???? ^^

  8. #8
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    essaye ceci

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
    session_start();
    require("protect/conf.php");
     
     
    if (!isset($_SESSION['pseudo']))
    {
       die('Vous n\'êtes pas autorisez à acceder à cette page.');
    }
    $email = $_POST['email'];
    $adresse = $_POST['adresse'];
    $cp = $_POST['cp'];
    $ville = $_POST['ville'];
    $pays = $_POST['pays'];
    $tel = $_POST['tel'];   
     
    $sql = connect_sql(); //Connection...
     
    $pseudo = $_SESSION['pseudo'];
     
    $requete = mysql_query("SELECT * FROM membres,civilite WHERE membres.pseudo='."$pseudo".' AND membres.id=civilite.id");
    $var = mysql_fetch_array ($requete);
     
    $email = $var['email'];
    $adresse = $var["adresse"];
    $cp = $var["cp"];
    $ville = $var["ville"];
    $pays = $var["pays"];
    $tel = $var["tel"];
     
    if (count($requete) <= 0) {
    header("Location:../../index.php?page=erreur");
    }
    else
    {
    mysql_query ("UPDATE membres SET email='."$email".' WHERE membres.pseudo='."$pseudo".');
             
    mysql_query ("UPDATE civilite SET adresse='."$adresse".', cp='."$cp".', ville='."$ville".', pays='."$pays".', tel='."$tel".' WHERE membres.pseudo=civilite.id");
    
    header("Location:../../index.php?page=modif_succes");
    }
    
    mysql_close($sql);    
    ?>

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    J'ai fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Lignes modifiées : %d\n", mysql_affected_rows());
    sous la premiere requete et il apparait que je n'ai modifié aucune ligne...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Par défaut
    slt, t'a fais un echo de ta requete et qu'est ce que ça donne?
    +1

    Si tu exécutes ta requête dans phpmyadmin, tu vas vite voir si elle bonne.
    C'est sûr qu'un "UPDATE truc SET machin='bidule' WHERE chose=14", alors que tu n'as aucun chose = à 14, ça va pas affecter beaucoup de lignes.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Dans PhpMyAdmin, j'ai cette erreur lorque j'exécute la premiere requete :

    #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 'mysql_query( "UPDATE membres SET email='$email' WHERE membres.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    erreur de ma part

    lorsque j'exécute la seconde requete dans phpmyadmin, j'ai ce résultat :

    La requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query ("UPDATE civilite SET adresse='$adresse', cp='$cp', ville='$ville', pays='$pays', tel='$tel' WHERE membres.pseudo=civilite.id");
    #1109 - Unknown table 'membres' in where clause

    Désolé pour cette erreur...

  13. #13
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    tu vois que t'a une erreur de syntaxe.Remplacepar

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    quel intéret car celle-ci passe sans problème!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query ("UPDATE membres SET email='$email' WHERE membres.pseudo='$pseudo'");
    Je ne vois pas où tu veux en venir, explique moi STP...

  15. #15
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    en faisant email='$email' t'aura email=$email renvoyé par contre avec email="'.$email.'" t'aura email=variable renvoyé.
    dis moi t'es sur qu'en supprimant ta deuxième requette ton script marche?

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Je n'en sais rien, je sais jsute qu'elle ne génere aucune erreur dans phpmyadmin...

  17. #17
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    t'as dis ke t'avais une erreur de ta première requète.Il te manque une double à la fin .l'erreur sur ta deuxième requète t'indique qu'il n'existe pas de table membres.Alors verifie la.

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 123
    Par défaut
    Vérifiez l'orthographe de membres dans ta base

Discussions similaires

  1. requete update set
    Par wissem_dev dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/04/2007, 13h25
  2. [MySQL] Update SET erroné
    Par djinko dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 30/10/2006, 14h12
  3. UPDATE * SET php/mysql
    Par Invité dans le forum Requêtes
    Réponses: 13
    Dernier message: 28/03/2006, 11h47
  4. [INTERBASE][UPDATE SET WHERE] problème de requete
    Par exclusif dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/03/2006, 21h10
  5. Réponses: 2
    Dernier message: 02/12/2005, 17h40

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