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

Requêtes MySQL Discussion :

[MySQL-5.7.9] SELECT dans un SELECT fonctionne dans phpmyadmin mais pas dans mon code PHP


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2016
    Messages : 2
    Points : 3
    Points
    3
    Par défaut [MySQL-5.7.9] SELECT dans un SELECT fonctionne dans phpmyadmin mais pas dans mon code PHP
    Bonjour à tous chers développeur !

    Voici mon soucis.
    J'ai une requête plus ou moins complexe qui fonctionne dans phpmyadmin mais plus du tout quand je fais un query dans mon code PHP.

    Voici la requête en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    SELECT
      e.ref,
      a.ID_article,
      a.Code_article,
      a.Designation_A,
      r.ean_pack,
      e.id_emplacement,
      acc.numero_lot,
      acc.date_peremption,
      (
      SELECT SUM
        (m.quantite)
      FROM
        mouvement AS m
      WHERE
        (
          m.type = 'E' OR(
            m.type = 'T' AND(
              m.mvt = 'PKTOGS' OR m.mvt = 'TAFTOGS' OR m.mvt = 'TEMPTOGS' OR m.mvt = 'GSTOGS'
            )
          )
        ) AND m.ean_pack = IFNULL(r.ean_pack,0) 
      AND m.type_stock = 'gs' AND m.recepteur = e.id_emplacement
    ) AS quantite_p,
    (
    SELECT SUM
      (m2.quantite)
    FROM
      mouvement AS m2
    WHERE
      (
        m2.type = 'S' OR(
          m2.type = 'T' AND(
            m2.mvt = 'GSTOPK' OR m2.mvt = 'GSTOTAF' OR m2.mvt = 'GSTOGS'
          )
        )
      ) AND m2.ean_pack = IFNULL(r.ean_pack,0) 
      AND m2.emetteur = e.id_emplacement
    ) AS quantite_m
    FROM
      relation_article_emplacement AS r
    RIGHT JOIN
      emplacement AS e ON r.id_emplacement = e.id_emplacement
    LEFT JOIN
      article AS a ON a.ID_article = r.id_article
    LEFT JOIN
      article_conditionnement_client AS acc ON acc.id_article = a.ID_article
    WHERE
      e.type = 'gs' AND e.visible = 1
    ORDER BY
      e.ref ASC
    J'ai l'impression que le problème viendrait de m.ean_pack = IFNULL(r.ean_pack,0)
    Comme si il ne reconnaissait pas r.ean_pack

    Je n'ai aucune erreur qui s'affiche lors de la non-execution de la requête
    Le plus fou dans tous ça, c'est que PHPMyAdmin me retourne bien les bons résultats

    Est-ce que l'un de vous a déjà rencontré ce problème ?

    N'hésitez pas si vous avez besoin d'information supplémentaire.

    Merci d'avance pour vos réponses.

    Bonne journée.

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Je m'avance peut-être, mais si votre requête dans phpMyadmin donne un résultat correct, selon toute vraisemblance le problème vient de php.

    Conseil :
    postez votre quesiton dans le forum php en indiquant la façon dont vous utilisez vos requêtes (pdo, mysqli...)

    Pierre

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2016
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour pier.antoine,

    Merci pour ta réponse

    Je viens de vérifier le nombre de résultat que cette requête est censée me retourner et elle me retourne 40000 résultats, en ajoutant un LIMIT ça fonctionne.
    Je n'ai pas vu plus loin que le nombre de résultat que phpmyadmin m'affichait alors qu'il ne m'affiche que les 25 premiers (c'est pour ça que ça fonctionnait).

    Je vais mettre le sujet en résolu.

    Désolé de vous avoir fait perdre du temps.

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

Discussions similaires

  1. Selection d'une selection dans un filtre
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2007, 20h26
  2. changement de formulaire sur selection dans le select
    Par LeXo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/06/2006, 12h51
  3. select dans un select
    Par Terminator dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/10/2005, 19h23
  4. [firebird] sous select dans un select
    Par gdido dans le forum SQL
    Réponses: 2
    Dernier message: 14/05/2004, 10h57
  5. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 19h06

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