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 :

Requête qui ne fonctionne pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut Requête qui ne fonctionne pas
    Bonjour a tous,

    j'avais deja ouvert un sujet a ce propos et je croyais qu'il avait été résolu mais je ne m'en était pas occupé, je viens d'essayer et cela ne fonctionne pas.
    Je n'ai pas d'erreur mais il ne modifie aucune ligne...

    voici ma query:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE my_table SET column1=(column1*0.2) AND  column2=(column2*0.2)
    WHERE column3=that AND column1=column2 AND (column1 BETWEEN 0 AND 5.00) AND (column2 BETWEEN 0 AND 5.00)
    aurais je fait une boulette, au delà du fait que cela paraisse redondant?
    dites moi si vous avez une idée, je trouve po

    bon dimanche

  2. #2
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Les affectations dans la clause SET doivent être séparées par des virgules et non des AND.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE my_table SET column1=(column1*0.2),  column2=(column2*0.2)
    WHERE column3=that AND column1=column2 AND (column1 BETWEEN 0 AND 5.00) AND (column2 BETWEEN 0 AND 5.00)
    Fred

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    J'ai essayé ta soluce Fred, mais cela ne marche toujours pas, il ne fait aucun changement mon code

  4. #4
    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
    Comment executes-tu la requête ?

  5. #5
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Quel est le type de tes champs column1 et column2 ?
    A quoi correspond that ?
    Fred

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    j'ouvre la fenetre de query et je la copie telle quelle et je clique sur executer.

    that est un nombre son type est int(11)

    les champs dans column 1 et 2 sont des nombres aussi / champ de type double(16,2) dans les deux cas

  7. #7
    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
    j'ouvre la fenetre de query et je la copie telle quelle et je clique sur executer.
    Tu parles de PHPmyadmin ?
    Si oui il t'affiche "0 enregistrement modifié" ?
    Si oui encore, cela signifie que tu n'as aucune ligne qui rentre dans les conditions de ton WHERE.

    Au passage le test column2 BETWEEN 0 AND 5.00 ne sert a rien puisque column1=column2.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    oui je parle de php my admin

    et oui on est bien d'accord le probleme c'est que j'ai des conditions qui rentre dedans((

    une description de mon where:

    exemple ligne 1: column 1 = 3.00 et column 2 = 3.00
    exemple ligne 2: column 1 = 2.00 et column 2 = 3.00
    exemple ligne 3: column 1 = 4.00 et column 2 = 4.00
    exemple ligne 4: column 1 = 1.00 et column 2 = 3.00
    exemple ligne 5: column 1 = 5.00 et column 2 = 5.00
    exemple ligne 6: column 1 = 7.00 et column 2 = 7.00

    ma requête cherche a prendre en compte les ligne 1, 3 et 5

    et enlever 20% de chaque nombre dans column 1 et 2

    ahhh oui c'est vrai pour le test column2 BETWEEN 0 AND 5.00 puisque ce qui m'interesse est dans la ligne de l'update

    je l'enléve,
    voici donc mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE my_table SET column1=(column1*0.2), column2=(column2*0.2)
    WHERE column3=that AND column1=column2 AND (column1 BETWEEN 0 AND 5.00)
    peut être que je devrais écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (column1 BETWEEN 0.00 AND 5.00)

  9. #9
    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
    c'est que j'ai des conditions qui rentre dedans
    Et la column3 ?

    Tu peux nous fournir un dump de ta table avec les lignes qui devraient marcher ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    bah la column 3 en gros c'est Userid= IDspécifique

    c'est tout simple et je l'utilise souvent donc ca c'est sur que c'est bon...

  11. #11
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Est-ce que tu as vraiment des lignes où column3=that ?
    Fred

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    merci pour cette question j'avais inversé les ID pour column3 ((

    et je vous ai fait perdre votre temps, je suis vraiment désolé!

    enfin grâce a vous cela devrait marcher, je vais essayer de suite!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête qui ne fonctionne pas
    Par Souri84 dans le forum Requêtes
    Réponses: 5
    Dernier message: 07/07/2010, 21h01
  2. Réponses: 3
    Dernier message: 28/08/2009, 13h30
  3. Filtrage au niveau de la requête qui ne fonctionne pas comme prévu
    Par hartecel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/06/2008, 14h06
  4. Requête qui ne fonctionne pas
    Par gregory.bts dans le forum JDBC
    Réponses: 1
    Dernier message: 10/06/2007, 01h11
  5. [SQL] requête qui ne fonctionne pas
    Par marie4449 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/03/2007, 16h47

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