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 (permalink)
Membre à l'essai
 
Date d'inscription: juin 2009
Messages: 49
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 :
$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 :
 
$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
Vieux 05/02/2010, 23h55   #2 (permalink)
Relecteur
 
Avatar de hornetbzz
 
Date d'inscription: octobre 2009
Localisation: IdF
Messages: 253
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.
hornetbzz est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 09h41   #3 (permalink)
Membre à l'essai
 
Date d'inscription: juin 2009
Messages: 49
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.
Daviloppeur est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 09h58   #4 (permalink)
Membre à l'essai
 
Date d'inscription: juin 2009
Messages: 49
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.
Daviloppeur est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 19h21.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.