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ésultat de requête différent sur 2 serveurs identiques


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 45
    Points : 24
    Points
    24
    Par défaut Résultat de requête différent sur 2 serveurs identiques
    Bonjour à tous,

    Après avoir parcouru les nombreux posts de ce forum, et retourné dans tous les sens ma doc MySQL, je m'adresse à vous pour un problème sur lequel je sèche.

    J’ai deux serveurs Linux Fedora 2 sur lesquels tourne MySQL version 3.23.58.
    Ces deux serveurs sont strictement identique au niveau de la config de Linux, ainsi qu’aux niveaux des paramètres et variables MySQL.
    L’un est un serveur de développement, l’autre est un serveur de production.

    Sur le serveur de développement, lorsque j’exécute cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T1.C1, T1.C2, T1.C3, T2.C1, T2.C2, T2.C3, T3.C1, T3.C2, T3.C3, T4.C1, T4.C2, T4.C3
    FROM T1 LEFT OUTER JOIN T2 ON T1.C1=T2.C1, T3, T4 WHERE T1.C2 = 'aaa' and T1.C3=T3.C3
    and T1.C1=T4.C1 ORDER BY T2.C3 DESC, T1.C3 ASC;
    tout se passe correctement. Le nombre de lignes affichées, correspond exactement aux critères de recherche. (cette requête est exécutée via un script php)

    Lorsque j’exécute cette même requête sur le serveur de prod, Mysql (du moins je suppose) n’affiche aucun enregistrements si le résultat dépasse 1912 lignes. Le problème c’est que je n’ai aucun message d’erreur pour me guider vers un quelconque bug !!!

    Pour arriver à ce chiffre de 1912 lignes, j’ai testé la requête en ajoutant LIMIT 0, ????
    Ce qui veut dire que lorsque la requête est exécutée avec la clause LIMIT 0,1911 les milles neuf cents onze lignes sont affichées. Quand la clause est LIMIT 0,1912 (ou supérieur) aucun enregistrement n’est affiché.

    Enfin lorsque j’exécute cette requête directement sur le client mysql, tout les enregistrements sont affiché, quelque soit le nombre de ligne. (problème avec PHP ?????)

    Donc pour résumer sur deux serveurs identique, une même requête fonctionne correctement sur l’un, mais n’affiche le résultat qu’à partir d’un certains nombre de lignes sur l’autre.

    Je reprécise que sur les deux serveurs les variables sont identiques !!!

    J’ai d’abord pensé à MAX_JOIN_SIZE, mais la valeur me parait correct (4294967295)

    J’ai analysé la requête avec EXPLAIN, et le résultat et identique sur les deux serveurs !!!

    Je ne sais plus vraiment vers où chercher, peut être est ce un problème dans mon script php ?? Dans ce cas pourquoi fonctionnerait il sur un serveur et pas sur l’autre ???

    D’avance je vous remercie pour votre aide ou vos conseils, qui me seront très précieux !!

    Frédéric

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut Re: Résultat de requête différent sur 2 serveurs identiques
    Citation Envoyé par schlitters
    Enfin lorsque j’exécute cette requête directement sur le client mysql, tout les enregistrements sont affiché, quelque soit le nombre de ligne. (problème avec PHP ?????)
    Etrange. Tu as vérifié dans le script PHP que la requête ne retourne rien (mysql_num_rows()) ?
    Pensez au bouton

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 45
    Points : 24
    Points
    24
    Par défaut Re: Résultat de requête différent sur 2 serveurs identiques
    Citation Envoyé par Maximilian
    Etrange. Tu as vérifié dans le script PHP que la requête ne retourne rien (mysql_num_rows()) ?
    Oui effectivement j'ai vérifier ce point .... chose étrange, le script m'affiche bien le nombre d'enregistrements qu'il devrait retourner mais qu'il n'affiche pas !!!!

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    OK, comme ça a l'air d'être un problème PHP je déplace vers ce forum.
    Il n'y a pas une option PHP max_quelquechose qui limite la taille des données rapatriées :
    Pensez au bouton

  5. #5
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    Salut !

    Post nous ton code php pour qu'on y jete un oeil ....

Discussions similaires

  1. [MySQL] Résultats de requête différents sur script ou phpmyadmin
    Par Invité dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 26/02/2013, 16h21
  2. [AC-2007] [EX-2010] Résultat de la requête différent sur Access ou Excel
    Par vibos dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/02/2013, 13h18
  3. Réponses: 21
    Dernier message: 16/02/2011, 13h21
  4. voir requêtes exécutées sur le serveur
    Par ldiaz dans le forum Installation
    Réponses: 7
    Dernier message: 28/09/2006, 08h55
  5. 1 requête effectuée sur 2 serveurs ?
    Par nicoPatch dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 08/02/2005, 07h44

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