MAJUSCULE / minuscule dans les requêtes mySQL

Résolu/Fermé
Utilisateur anonyme - 8 avril 2007 à 21:55
 SINKIOU - 15 oct. 2008 à 20:53
Bonsoir

Je suis actuellement en phase d'apprentissage pour la création de site.
Or je rencontre un problème auquel je ne trouve aucune solution sur les forums et moteurs de recherche.

Donc voilà comment j'enregistre mes données en transmettant par $_POST :
 
mysql_query("INSERT INTO membre (id,nomcompte, motdepasse) VALUES ('','".$nom_compte."', '".$mot_de_passe."',)");

Et je voudrais ressortir l'image d'avatar comme ceci:
$query = "SELECT * FROM forumsujet WHERE id = '".$forum_sujet."'";
$resultatSujet = mysql_query($query);
$donneesSujet = mysql_fetch_array($resultatSujet);

<img src="avatar/avatar<? echo $donneesSujet['nomcompte']; ?>" />

Je souhaiterais en fait que lors d'une requête SQL via PHP, le script fasse la différence entre les majuscules et minuscules entrées.

Car en l'état actuel si je crée par exemple mon compte avec le pseudo: YooMan, il me reconnaitra lors de l'inscription aussi bien que yooman ou YOOMAN etc...
Ce qui pose un problème pour l'affichage de l'avatar selon la méthode que j'emploie... :p

Désolé c'est pas très clair comme explication. Merci pour vôtre aide.
A voir également:

3 réponses

Tu peux faire une requête sensible à la casse avec l'attribut BINARY
3
Utilisateur anonyme
9 avril 2007 à 02:34
Merci LutiX

En revoyant mon code que j'ai modifié, j'ai résolu le problème d'affichage des avatars. En fait une fois identifié je crée une superglobale $_SESSION qui contient le nom de compte extrait de la table 'membre' et j'enregistre l' avatar comme ceci: avatar_<? $_SESSION['nomcompte']?> et le ressort de la même façon.
Bon comme je ne suis résolument pas très clair ce soir, en fait au lieu d'autoriser plusieurs casses je n' en autorise plus qu'une ce qui contourne quand même le problème même si j'opte pour cette solution .

Cela dit, je vais testé cet attribut au plus vite car il pourrait être utile à d'autres choses.

Merci encore, je vous tiens informé sur BINARY
0
Utilisateur anonyme
9 avril 2007 à 13:18
J'ai testé l'attribut BINARY qui correspond tout à fait à mon problème, ainsi le nom de compte Yooman n'est plus le même que yOOmaN ou que n'importe quel autre compte du même nom :p

Voici la syntaxe utilisée pour BINARY dans la requête :
mysql_query("SELECT nomcompte FROM membre WHERE nomcompte= BINARY '".$nomcompte."'");


Merci encore pour ton aide.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
8 avril 2007 à 22:16
salut,

pour identifier ton avatar pourquoi utilises-tu cette méthode ?
et d'ailleurs, en quoi la sensibilité à la casse est-elle gênante ?

pour moi :
1 utilisateur = 1 identifiant numérique unique
l'avatar associé est nommé avec l'identifiant...

YooMan = 0001
j'affiche 0001.png

peux-tu éclairer ma (notre) lanterne ?
1
Utilisateur anonyme
9 avril 2007 à 02:19
Salut Dalida. Merci de ton interet pour ce post.

La différenciation entre les majuscules et minuscules est importante car lors de l'upload de l'avatar, il est renommé automatiquement sous cette forme: avatar_nom_de_compte

Or pour le ressortir j'utilise le nom de compte entré dans la table 'membre'
sous cette forme:
avatar_<? echo $nomcompte; ?> ($nomcompte étant ressortis de la table 'membre' via une requête SQL.

Comme actuellement, tu peux ouvrir un compte sur mon site en tapant des majuscules et ensuite t'identifier sans, tu seras reconnue sous des noms différents (YooMan, yOOmAN, la liste est longue...)

Quant aux avatars ils sont enregistrés sous le nom de compte que tu as au moment de l'enregistrement, par ex: avatar_YooMan.gif
La balise pour l'affichée ne me ressortira que sous se nom là et tout autre casse ne sortira rien...

Quant à ressortir l'image avec le numéro d'id, je n'y avais pas songé tant ma méthode me paraissait évidente et claire, mais c'est une bonne idée. Cela dit maintenant que j'ai un problème qui se présente à moi, je ne vais pas le contourner si facilement donc je suis toujours preneur pour une solution qui différencie la casse.

Merci de ton aide. A bientôt
-1
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > Utilisateur anonyme
9 avril 2007 à 11:40
salut tout le monde,

as you want !
moi j'essaie toujours de supprimer ou de déplacer le problème avant d'essayer d'y répondre. être faignant ça ne s'invente pas, ça se vit !

bon courage à toi !
-1
Utilisateur anonyme > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
9 avril 2007 à 12:45
Ben pour être honnête, je suis tout aussi faignant...
Mais je suis surtout en période d'apprentissage et si je ne cherche pas à faire ce que je ne sais pas faire, je n'apprendrais jamais rien...

Merci de ton aide à bientôt.
-1
Merci pour l'astuce avec BINARY !
Génial, exactement ce que je recherchais depuis un moment sans succès ! :-)
0