Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu] [PHP] MySQL UPDATE > Données inchangées


Messages recommandés

Posté(e) (modifié)

Bonjour,

 

Je bloque sur un UPDATE des données dans ma base.

Concrètement, quand je modifie les infos des champs input et que je valide, le script s'exécute sans erreur mais les données restent inchangées comme si elles étaient en lecture seule.

J'ai contrôlé mes variables qui me paraissent bonnes car l'ajout, la suppression et l'affichage des variables se passent sans problème.

J'ai donc du rater quelque chose dans le script de modification, mais quoi ?

<?php
// editer joueur
// connexion base de donnees
include ('../conbdd.php');

// récupération variables
$id = $_GET['id'];
$pseudo = $_GET['pseudo'];
$role = $_GET['role'];
$idesl = $_GET['idesl'];

mysql_query("UPDATE joueur SET pseudo='.$pseudo.',role='.$role.',idesl='.$idesl.' WHERE id='.$id.'") or die (mysql_error());

@mysql_close(); // Déconnexion de MySQL

header('Location:index.php'); // retour à l'index après éxécution du script
?>

Si vous voulez des détails, n'hésitez pas.

Merci pour le coup de main.

Modifié par Pone

  • Modérateurs
Posté(e)

Je ne connais pas spécifiquement MySQL, mais il me semble que, dans les conventions SQL, on ne peut effectuer un UPDATE qu'après un GET avec intention d'UPDATE. En d'autres termes, lorsqe l'on veut modifier un rang de table, on doit d'abord réaliser une lecture de positionnement, en indiquant en outre que c'est pour réécriture, afin de locker l'enregistrement concerné (le verrouiller vis-à-vis de tout autre utilisateur) pendant toute cette phase de mise à jour.

Posté(e) (modifié)

Bonjour,

 

mysql_query("UPDATE joueur SET pseudo='.$pseudo.',role='.$role.',idesl='.$idesl.' WHERE id='.$id.'")
Essaie comme ceci :

 

mysql_query("UPDATE joueur SET pseudo='$pseudo' ,role='$role',idesl='$idesl' WHERE id='$id'")

 

Je ne connais pas spécifiquement MySQL, mais il me semble que, dans les conventions SQL, on ne peut effectuer un UPDATE qu'après un GET avec intention d'UPDATE. En d'autres termes, lorsqe l'on veut modifier un rang de table, on doit d'abord réaliser une lecture de positionnement, en indiquant en outre que c'est pour réécriture, afin de locker l'enregistrement concerné (le verrouiller vis-à-vis de tout autre utilisateur) pendant toute cette phase de mise à jour.
Personnellement, je n'ai jamais eu à faire ce genre de manip pour faire un UPDATE :P Modifié par odSen
Posté(e)

Problème résolu :P

 

Il y'avait en fait un problème de concaténation et de formulaire unique (ajouter/modifier). J'ai donc créé un formulaire par action (et par script, donc) en plaçant correctement celui pour "Modifier" dans la boucle pour afficher les données.

 

Merci !

  • Modérateurs
Posté(e)
Personnellement, je n'ai jamais eu à faire ce genre de manip pour faire un UPDATE

Je ne renie pas ce que j'ai dit. C'est seulement qu'il s'agit d'un autre contexte, celui du SGBDR DB2 (IBM), dans l'univers mainframe (gros ordinateurs). Désolé d'avoir, un peu vite, étendu ces règles aux ordres SQL associés à MySQL. :P

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...