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 :

Problème UPDATE ?


Sujet :

PHP & Base de données

  1. #1
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut Problème UPDATE ?
    Qu'est ce qu'il ne va pas dans mon UPDATE ? :

    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
    $numero_id=$_GET['ID'];
        $retour = mysql_query('SELECT * FROM liens_utiles WHERE ID=\'' . $_GET['ID'] . '\'') or die (mysql_error());
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples
        $nom_lien = stripslashes($donnees['NomLien']);
        $adresse = stripslashes($donnees['Adresse']);
        $id = $donnees['ID'];
     
        mysql_query('UPDATE liens_utiles SET NonLien=' . $nom_lien . ', Adresse=' . $adresse . ' WHERE ID='.$_POST['ID'].'');
     
        mysql_close();
    ?>
    <html>
        <head>
            <title></title>
        </head>
        <body>
        <form action="index.php" method="post">
     
    Nom du lien : <input type="text" name="NomLien" value="<?php echo $nom_lien; ?>"/><br>
    Adresse du lien : <input type="text" name="Adresse" value="<?php echo $adresse; ?>"/>
    <input type="submit" value="Valider" />
     
    </form>
        </body>
    </html>
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Par défaut
    qu'elle est l'erreur retournée? je te propse d'essayer ta requete dans php myadmin en sql pour voir si elle est bonne ou pas en remplassant les variabls par des exemples , elle ma lair correcte en elle meme reste a voir les guillemets

  3. #3
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    N'avez vous pas fait une faute d'orthographe dans l'écriture de "NomLien" ?

    Aussi, lorsque vous souhaitez mettre à jour un champ qui est une chaine de caractères, il faut toujours encapsuler cette chaine entre guillemets.

    Voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query('UPDATE liens_utiles SET NonLien="'.$nom_lien.'", Adresse="' . $adresse . '" WHERE ID='.$_POST['ID']);
    Pour finir, lorsque votre requête SQL ne semble pas fonctionner, vous pouvez utiliser la fonction mysql_error() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query('UPDATE liens_utiles SET NonLien="'.$nom_lien.'", Adresse="' . $adresse . '" WHERE ID='.$_POST['ID']) or die(mysql_error());

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut
    Bonjour à tous !!

    Perso quand j'ai des requêtes récalcitrantes je fais comme sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $req = "UPDATE liens_utiles SET NonLien=' . $nom_lien . ', Adresse=' . $adresse . ' WHERE ID=". $_POST['ID'];
     
    echo $req;
     
    //mysql_query($req);
    De cette manière je vois ce que prennent les différentes variable passée dans la requête !!

    J'espère t'avoir aidé ^^

  5. #5
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    ok, merci d'avoir vu cette "bête" erreur d'orthographe, mais après modification, le update ne marche pas :

    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
    $numero_id=$_GET['ID'];
        $retour = mysql_query('SELECT * FROM liens_utiles WHERE ID=\'' . $_GET['ID'] . '\'') or die (mysql_error());
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples
        $nom_lien = stripslashes($donnees['NomLien']);
        $adresse = stripslashes($donnees['Adresse']);
        $id = $donnees['ID'];
     
        mysql_query("UPDATE liens_utiles SET NomLien=' . $nom_lien . ', Adresse=' . $adresse . ' WHERE ID=". $_POST['ID']);
     
        mysql_close();
    ?>
    <html>
        <head>
            <title>Modifier Lien</title>
        </head>
        <body>
        <form action="index.php" method="post">
     
    Nom du lien : <input type="text" name="NomLien" value="<?php echo $nom_lien; ?>"/><br>
    Adresse du lien : <input type="text" name="Adresse" value="<?php echo $adresse; ?>"/>
    <input type="submit" value="Valider" />
     
    </form>
        </body>
    </html>
    Il me retour toujours la même valuer et ne prends pas en compte la modification.
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  6. #6
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    Tu n'as pas lu l'ensemble de mon message, tu as une seconde erreur :
    Aussi, lorsque vous souhaitez mettre à jour un champ qui est une chaine de caractères, il faut toujours encapsuler cette chaine entre guillemets.
    Tu trouveras la solution dans le code fournit précedemment.

    Bonne journée

  7. #7
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Bonjour,

    Tu n'as pas lu l'ensemble de mon message, tu as une seconde erreur :

    Tu trouveras la solution dans le code fournit précedemment.

    Bonne journée
    J'ai pourtant bien modifié :

    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
    $numero_id=$_GET['ID'];
        $retour = mysql_query('SELECT * FROM liens_utiles WHERE ID=' . $_GET['ID']);
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples
        $nom_lien = stripslashes($donnees['NomLien']);
        $adresse = stripslashes($donnees['Adresse']);
        $id = $donnees['ID'];
        $nom_lien_update=$_POST['NomLien'];
        $adresse_update=$_POST['Adresse'];
     
        mysql_query('UPDATE liens_utiles SET NomLien="'.$nom_lien.'", Adresse="' . $adresse . '" WHERE ID='.$_POST['ID']);
     
        mysql_close();
    ?>
    <html>
        <head>
            <title>Modifier Lien</title>
        </head>
        <body>
        <form action="index.php" method="post">
     
    Nom du lien : <input type="text" name="NomLien" value="<?php echo $nom_lien; ?>"/><br>
    Adresse du lien : <input type="text" name="Adresse" value="<?php echo $adresse; ?>"/>
    <input type="submit" value="Valider" />
     
    </form>
        </body>
    </html>
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  8. #8
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Ton code précédent était faux, tu te trompais dans l'imbrication des guillemets et quotes.

    Par contre, je vois dans ton code que tu utilises $_GET['id'] et $_POST['id'], les deux existent vraiment ou est-ce une erreur ?

  9. #9
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    Mon $_GET['id'] existe dans mon url.
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  10. #10
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Ok, et ton $_POST['id'] ? Il vient bien du formulaire que tu as soumis pour arriver à cette page ?

  11. #11
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    oui, la valeur du $_GET['id'] et $_POST['id'] ont la même valeur.
    J'ai bien testé ma command SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ;
        mysql_query("UPDATE liens_utiles SET NomLien='TEST3', Adresse='ADRESSETEST3' WHERE ID='41'");
        echo "ok";
        mysql_close();
    Et elle marche, mais quand je modifie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $id=$_GET['ID'];
        $nom_lien="TEST3";
        $adresse="ADRESSETEST3";
        mysql_query('UPDATE liens_utiles SET NomLien="'.$nom_lien.'", Adresse="'.$adresse.'" WHERE ID='.$id.'');
        echo "ok";
        mysql_close();
    Ça ne marche plus.
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  12. #12
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Dans ta première requête tu entoures tous tes champs par des quotes ou des guillemets y compris ton id ce qui n'est pas le cas dans la deuxième requête.
    Ca règle peut-être pas le problème mais les deux requêtes ne sont pas tout à fait identiques du coup...

  13. #13
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    En testant comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $id=$_GET['ID'];
        echo $_GET['ID'];
        $nom_lien="TEST3";
        echo $nom_lien;
        $adresse="ADRESSETEST3";
        echo $adresse;
        mysql_query("UPDATE liens_utiles SET NomLien='".$nom_lien."', Adresse='".$adresse."' WHERE ID='41'");
    Je n'arrive pas à avoir mon ID ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  14. #14
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Si ton champ "ID" est un entier alors il ne doit pas être encapsulé entre guillemets.

Discussions similaires

  1. Problème update ??
    Par cristolb dans le forum Langage SQL
    Réponses: 5
    Dernier message: 19/08/2005, 13h08
  2. Problème update
    Par elhani dans le forum Langage SQL
    Réponses: 1
    Dernier message: 18/08/2005, 12h30
  3. Problème UPDATE et LIKE
    Par Golork dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/08/2005, 16h01
  4. [Update]Problème update Eclipse
    Par tomate dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/04/2005, 11h14
  5. Problème UPDATE
    Par Eltaz dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/07/2004, 11h37

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