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 sous condition


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut UPDATE sous condition
    Bonjour

    Je n'arrive pas à faire passer une condition d'update en php alors que la requete sql depuis phpMyadmin passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # Requete SQL
    update module 
    inner join formamod on module.codeMod = formamod.ModuleID 
    inner join formamet on formamod.FormametID = formamet.CodeFormMet
    set `module`.Com="1"
    Where (`formamet`.`Type` ="foo")
    AND formamod.ModuleID
    IN (
    SELECT ModuleID
    FROM formamod
    GROUP BY ModuleID
    HAVING COUNT(ModuleID)>1)
    la traduction en php donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $bdd->beginTransaction();
     
    $bdd->query('update module inner join formamod on module.codeMod = formamod.ModuleID inner join formamet on formamod.FormametID = formamet.CodeFormMet set module.Com="1" Where ((formamet.Type="foo") AND formamod.ModuleID IN (SELECT ModuleID FROM formamod GROUP BY ModuleID HAVING COUNT(ModuleID) > 1 ))' );
     
    $bdd->commit();
    Le script fonctionne jusqu'à la première condition. Le IN (SELECT n'a pas l'air de passer.

    Pour être plus clair je ne veux que mettre à jour ModuleID.Com que lorsque ModuleID est présent plus d'une fois dans la table formamod.

    Si vous aviez une piste, je serais ravi. Merci pour votre aide.

    @+

    Nopt

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le IN (SELECT n'a pas l'air de passer.
    Tu peut être plus précis sur ce que tu obtiens ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu peut être plus précis sur ce que tu obtiens ?
    En mode php la requête s’exécute sans erreur mais coté bdd rien n'a bougé.

    En gros si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $bdd->query('update module inner join formamod on module.codeMod = formamod.ModuleID inner join formamet on formamod.FormametID = formamet.CodeFormMet set module.Com="1" Where (formamet.Type="foo")
    Pas de problème ça passe

    si je mets à la main la deuxième condition, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $bdd->query('update module inner join formamod on module.codeMod = formamod.ModuleID inner join formamet on formamod.FormametID = formamet.CodeFormMet set module.Com="1" Where (formamet.Type="foo") and formamod.ModuleID="bar"
    là aussi ça fonctionne.

    En fait je me demande si la méthode query attend suffisamment la réponse au SELECT ? Ce qui est étonnant c'est que coté phpMyadmin la requête fonctionne très bien.

    Une idée ? Merci pour ton aide.

    @+

    Nopt

Discussions similaires

  1. [AC-2003] Update sous Condition
    Par aminnio dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/07/2013, 14h38
  2. Update detailsView sous condition
    Par DeWaRs dans le forum VB.NET
    Réponses: 1
    Dernier message: 17/06/2013, 13h25
  3. [MySQL] update sous condition
    Par ideal23 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/01/2012, 05h57
  4. update sous conditions séparées ?
    Par Overstone dans le forum MySQL
    Réponses: 2
    Dernier message: 21/12/2008, 14h27
  5. [SQL] update sql sous condition
    Par oim dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/11/2007, 22h36

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