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 :

Problème de requête sous Linux


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Par défaut Problème de requête sous Linux
    Bonjour je rencontre actuellement un soucis que je n'arrive pas à résoudre
    Je m'explique:
    Je développe actuellement un site Web en php où je suis bien sur amené à utiliser des requêtes Sql
    J'ai tout d'abord développer mon code php sous Windows XP à l'aide de Wamp, jusque là aucun soucis mon code est fonctionnel et aucun problème de requête
    Depuis peu j'ai fait l'acquisition d'un serveur sur lequel est installé un Fedora.
    Sur ce serveur j'ai donc transférer mes pages php et là c'est le drame
    Les requêtes ne semble pas passer, j'ai même fait le test sous Mandriva j'obtiens le même résultat
    Je vous met donc à disposition ma requête afin que vous puissiez voler à mon secours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $request1="SELECT count(carte.id) FROM carte, infocarte, possede, equipement WHERE infocarte.inf_id = carte.id AND carte.nom_equip = equipement.nom_equip AND equipement.nom_equip = possede.nom_equip AND infocarte.libelle LIKE 'Module « Service I/F »' AND equipement.type_equip='ne1660sm' AND possede.ui = '$ui' GROUP BY infocarte.libelle";
    $request2="SELECT equipement.type_equip, equipement.nom_equip, possede.nom_topo  FROM equipement, possede, infocarte, carte WHERE  infocarte.inf_id = carte.id AND carte.nom_equip = equipement.nom_equip AND equipement.nom_equip = possede.nom_equip AND infocarte.libelle = 'Module « Service I/F »' AND possede.ui = '$ui' AND equipement.type_equip='ne1660sm' ORDER BY equipement.type_equip, equipement.nom_equip, possede.nom_topo ASC";
    Si quelqu'un a une idée pour subvenir à mon problème je suis preneur
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Bonjour,
    Outre les requêtes, tu arrive a te connecter a ton serveur via PHP ? les logs sont bons ? l'adresse du serveur MySQL aussi ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Par défaut
    Pour moi les logs sont bon puisque mon site nécessite une authentification dès la première page.
    Sans cette authentification il est impossible d'avoir accès au reste du site. Puisque mon authentification fonctionne et qu'elle fait appelle à la base de données je ne pense pas que le problème vienne de mes logs.
    De plus lorsque j'exécute directement mes requêtes à l'aide de PhpMyAdmin sur mon serveur mes requêtes ne retourne rien alors que lorsque j'exécute ces mêmes requêtes sur mon serveur Wamp tout fonctionne comme sur des roulettes.
    Il me semble pouvoir en conclure que le problème vienne bel et bien de mes requêtes mais en revanche je ne sais pas où celui-ci se situe.
    Merci à toi quand même.

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Dans ce cas tu as bien des données en base ?
    Si les memes requetes dans PMA ne retournent rien c'est que les données qu'elles doivent récupérer n'existent pas ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Par défaut
    Mes tables contiennent des données (la plus petite contient 216 lignes et la plus grandes près de 30000 lignes) donc le problème ne vient pas de là non plus. Quelqu'un a-t-il une autre idée ?

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Oui, la casse de tes tables.

    N'as tu point de majuscule/minuscule dans le nom de tes tables ?

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par DjiLow Voir le message
    De plus lorsque j'exécute directement mes requêtes à l'aide de PhpMyAdmin sur mon serveur mes requêtes ne retourne rien alors que lorsque j'exécute ces mêmes requêtes sur mon serveur Wamp tout fonctionne comme sur des roulettes.
    Si tu n'as pas de message d'erreur je ne vois qu'une seule chose ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Voici ta première requête remise en forme :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT count(carte.id) 
    FROM carte, infocarte, possede, equipement 
    WHERE infocarte.inf_id = carte.id 
      AND carte.nom_equip = equipement.nom_equip 
      AND equipement.nom_equip = possede.nom_equip 
      AND infocarte.libelle LIKE 'Module « Service I/F »' 
      AND equipement.type_equip='ne1660sm' 
      AND possede.ui = '$ui' 
    GROUP BY infocarte.libelle
    Plusieurs remarques :
    1) Utilise la syntaxe normalisée depuis 1992 pour les jointures avec l'opérateur JOIN.

    2) Un LIKE sans caractère générique % est équivalent à un =

    3) Puisque tu sélectionnes spécifiquement un libellé d'infocarte, le GROUP BY est inutile

    Compte tenu de ce qui précède, ta requête deviendrait ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT count(*) 
    FROM carte AS c
    INNER JOIN infocarte AS i ON i.inf_id = c.id
    INNER JOIN equipement AS e ON c.nom_equip = e.nom_equip
      INNER JOIN possede AS p ON e.nom_equip = p.nom_equip
    WHERE i.libelle = 'Module « Service I/F »' 
      AND e.type_equip = 'ne1660sm' 
      AND p.ui = '$ui'
    Pour la seconde requête, ça donne ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT e.type_equip, e.nom_equip, p.nom_topo  
    FROM equipement AS e
    INNER JOIN possede AS p ON e.nom_equip = p.nom_equip
    INNER JOIN carte AS c ON c.nom_equip = e.nom_equip
      INNER JOIN infocarte AS i ON i.inf_id = c.id
    WHERE i.libelle = 'Module « Service I/F »' 
      AND p.ui = '$ui' 
      AND e.type_equip = 'ne1660sm' 
    ORDER BY e.type_equip, e.nom_equip, p.nom_topo
    ASC est inutile puisque c'est le sens de tri par défaut.

    Le problème vient peut-être des guillemets français dans le LIKE qui seraient mal interprétés sous Linux. Les données en BDD comportent-elles vraiment de tels guillemets ?

    Comme tu as aussi une variable dans cette requête, il faudrait afficher par un echo la requête réellement envoyée au serveur.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Problème erreurs sockets sous Linux
    Par Ange44 dans le forum Linux
    Réponses: 6
    Dernier message: 05/09/2006, 16h16
  2. Problème de portabilité sous Linux
    Par eG.dam dans le forum Linux
    Réponses: 4
    Dernier message: 23/06/2006, 23h06
  3. [WebService](SSL] Problème de SSL sous Linux
    Par Tueur_a_gage dans le forum JOnAS
    Réponses: 4
    Dernier message: 09/01/2006, 16h38
  4. [SNMP] Problème de requêtes sous Windows
    Par weib dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 30/11/2005, 19h00
  5. Problème avec glutFullScreen() sous linux...
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 29/11/2004, 11h30

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