Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 05/02/2010, 18h55   #1
Membre à l'essai
 
Inscription : juin 2009
Messages : 76
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 76
Points : 21
Points : 21
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 :
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 :
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 :
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
Daviloppeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2010, 23h55   #2
Membre chevronné
 
Avatar de hornetbzz
 
Homme
Directeur commercial
Inscription : octobre 2009
Messages : 474
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 44
Localisation : France

Informations professionnelles :
Activité : Directeur commercial

Informations forums :
Inscription : octobre 2009
Messages : 474
Points : 681
Points : 681
Envoyer un message via Skype™ à hornetbzz
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.
hornetbzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2010, 09h41   #3
Membre à l'essai
 
Inscription : juin 2009
Messages : 76
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 76
Points : 21
Points : 21
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.
Daviloppeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2010, 09h58   #4
Membre à l'essai
 
Inscription : juin 2009
Messages : 76
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 76
Points : 21
Points : 21
Je viens de trouver , il s'agit bien de caractères parasites.

un trim($value) permet de "nettoyer" $value et ça marche.
Daviloppeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 05h10.


 
 
 
 
Partenaires

Hébergement Web