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 :

Récupérer valeur d'un UPDATE


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 32
    Par défaut Récupérer valeur d'un UPDATE
    Bonjour,

    J'ai une table "table_chrono" qui ne contient qu'une seule colonne "chrono" et qu'un seul enregistrement de type entier, qui est incrémenté par une requête UPDATE dans mon code PHP.
    J'ai donc quelque chose de ce type dans mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $q = mysql_query("UPDATE table_chrono SET chrono=chrono+1");
    J'aimerais récupérer la valeur de "chrono+1" après mon UPDATE. J'ai imaginé plusieurs solutions, mais aucune ne me convient :
    - Faire un SELECT juste après mon UPDATE, mais dans ce cas si un autre UPDATE a été effectué entre temps, je ne récupèrerai pas la bonne valeur ;
    - Faire un LOCK sur la table "table_chrono" avant le UPDATE, puis faire un SELECT et faire un UNLOCK ensuite, mais je n'ai pas les droits pour faire un LOCK ;
    - Modifier mon champ "chrono" en auto_incrément et faire des INSERT plutôt que des UPDATE pour récupérer la valeur avec "mysql_insert_id()", mais je me retrouverai avec des tonnes d'enregistrements qui ne servent pas et il faudra mettre en place un système de purge.

    Bref, existe-t-il un moyen auquel je n'ai pas pensé ? Est-il possible de récupérer la valeur modifiée sans faire un deuxième requête ?

    Merci !

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Une autre solution serait de faire un SELECT avant de faire l'update.

    Faire l’incrémentation en PHP et enfin updater avec la valeur obtenue en PHP.

    Par contre, si le script s’exécute 2 fis en même temps ya des chances pour que il n'y ai que une incrémentation de 1 au lieu de 2 au final.

    Apres sinon, tu peux peut être regarder du coté des transactions.

Discussions similaires

  1. [MySQL] Récupérer valeur avant UPDATE
    Par zebih dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 17/04/2015, 12h13
  2. Récupérer valeur contrôle en dynamique via requête
    Par nicburger dans le forum Access
    Réponses: 10
    Dernier message: 15/09/2005, 15h41
  3. [ActionScript] Récupérer valeur balise <param />
    Par JohnBlatt dans le forum Flash
    Réponses: 1
    Dernier message: 18/07/2005, 14h50
  4. CR9 - Récupérer valeurs multiples d'un champ paramètre
    Par CR9-Deb dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 06/07/2005, 16h08
  5. récupérer valeur d'un ID après insertion
    Par rikidi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/08/2003, 22h21

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