FilouLeHibou Posté(e) le 5 mars 2004 Partager Posté(e) le 5 mars 2004 Bon, voila le morceau de code qui pose problème: Bien sur au début du code, je me connecte à la base $joueur = $_GET["joueur"]; $plus = $_GET["plus"]; $value = $_GET["value"]; mysql_query("UPDATE nomik SET '$plus'='$value' WHERE user like '$joueur'"); Donc, le principe est: -je récupère le nom du joueur, le champ à changer(plus) et sa nouvelle valeur. ex: nomik.php?joueur=test&plus=cochon&value=3 Le problème est que ma commande sql ne fait pas la mise à jour :shock: Si vous avez des idées Lien vers le commentaire Partager sur d’autres sites More sharing options...
eclipz Posté(e) le 5 mars 2004 Partager Posté(e) le 5 mars 2004 j'ai jamais essayé d'indiquer les champs à modifier... je suis pas certain que ce soit possible mais si oui, à mon avis tu devrais essayer d'enlever les quotes... UPDATE nomik SET $plus='$value' WHERE user like $joueur" Lien vers le commentaire Partager sur d’autres sites More sharing options...
FilouLeHibou Posté(e) le 5 mars 2004 Auteur Partager Posté(e) le 5 mars 2004 C apreil sans les quotes, j'crois qu'y va falloir que je change de méthode! Lien vers le commentaire Partager sur d’autres sites More sharing options...
eclipz Posté(e) le 6 mars 2004 Partager Posté(e) le 6 mars 2004 si j'ai bien compris ce que tu veux faire (changer juste la valeur du joueur récupéré), le LIKE n'est pas très à propos ! WHERE user='$joueur' serait plus adapté ! le Like c'est pas mal mais bon... dans ce cas je pense que ça peut etre source d'erreur bien que tu n'ais pas mis de caractère genre % sinon je peux t'assurer que les quotes ont une influence certaine ! tout comme la casse d'ailleurs si ma mémoire est bonne (mais ça, ça dépend des versions) c'est con, je retrouve aucune source de mes sites donc j'ai plus un sul exemple d'update ! kess que j'en ai fait Lien vers le commentaire Partager sur d’autres sites More sharing options...
ingeni Posté(e) le 6 mars 2004 Partager Posté(e) le 6 mars 2004 UPDATE table SET var_table= '$var_get' WHERE var_table2 = '$var_get2' c'est à dire .. UPDATE nomik SET $plus = $value WHERE user='$joueur' Je ferai comme ça ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
FilouLeHibou Posté(e) le 6 mars 2004 Auteur Partager Posté(e) le 6 mars 2004 Merci, la syntaxe exacte était bien: mysql_query("UPDATE nomik SET $plus=$value WHERE user='$joueur'"); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Freud Posté(e) le 7 mars 2004 Partager Posté(e) le 7 mars 2004 En fait ça dépend quel est le type de la valeur à modifier : si c'est une chaîne de caractère il faut mettre SET $plus='$value' Si c'est un nombre : SET $plus=$value Par contre c'est dangereux d'avoir la valeur à modifier en variable, car quelqu'un pourrait faire exécuter n'importe quelle requête grâce à ton script en passant une valeur spéciale dans $plus. Il faudrait que tu vérifies la valeur de $plus à chaque fois. Lien vers le commentaire Partager sur d’autres sites More sharing options...
FilouLeHibou Posté(e) le 7 mars 2004 Auteur Partager Posté(e) le 7 mars 2004 ouais, mais c pas genant, je cherche pas à sécurisé ! c juste un truc entre pote! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.