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 requête renvoie 1 seul résultat [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Points : 64
    Points
    64
    Par défaut problème requête renvoie 1 seul résultat
    Bonjour,

    J'ai un problème assez mystérieux (au moins pour moi).

    Je fais un requête de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $requeteID 			= "(";
    foreach ($tableauListeAmis as $value) 	{ 
    	$requeteID = $requeteID."`username` = '".$value."' OR "; 
    }
     
    $requeteID			= substr($requeteID,0,-3);
    $requeteID = $requeteID.")";
    $requeteRecuperationUserId = "SELECT `id` FROM `jos_users` WHERE ".$requeteID;
    $db->setQuery($requeteRecuperationUserId);
    $resultRecuperationID	= $db->loadResultArray();
    au final si j'affiche $requeteRecuperationUserId, j'obtiens (par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `id` FROM `users` WHERE (`username` = 'pirate ' OR `username` = 'admin ' OR `username` = 'toto' )
    et cela ne marche pas, je n'ai pas d'erreurs mais la requête ne renvoie que le dernier id correspondant.

    Si je remplace mon code en écrivant $requeteRecuperationUserId en dur et en recopiant la valeur de $requeteRecuperationUserId affiché précedemment, ça marche j'ai bien tous les id voulus !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $requeteRecuperationUserId = "SELECT `id` FROM `jos_users` WHERE (`username` = 'pirate ' OR `username` = 'admin ' OR `username` = 'toto' )";
    $db->setQuery($requeteRecuperationUserId);
    $resultRecuperationID	= $db->loadResultArray();
    Je sèche ! merci de votre aide

    PS : la syntaxe particulière des requêtes vient de joomla

  2. #2
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    Salut,

    de mémoire j'avais eu un problème très similaire il y a qq mois, donc je ne pense pas que ça soit un problème spécifique à Joomla.

    Tjs de mémoire, j'avais résolu ça en virant les quotes inversées (alt gr 7), effectivement présentes dans les requêtes sql, mais pas en php.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Points : 64
    Points
    64
    Par défaut
    Je n'ai pas de quote inversé pour moi dans la requête qui me pose problème.

    Mais je pense effectivement qu'il doit s'agir d'un problème de caractère mal interprété, étrange.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Points : 64
    Points
    64
    Par défaut
    Je viens de trouver , il s'agit bien de caractères parasites.

    un trim($value) permet de "nettoyer" $value et ça marche.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2010, 15h02
  2. [MySQL] Requête avec un seul résultat?
    Par kahya dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/03/2007, 14h39
  3. [SQL-SERVER 2000] Problème de requête sur une seule ligne
    Par Sytchev3 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/04/2006, 16h54
  4. Tester si une requête renvoie un résultat
    Par dl_jarod dans le forum ASP
    Réponses: 4
    Dernier message: 13/10/2005, 15h48
  5. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07

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