[Résolu] Casse dans une requête sql

Casse dans une requête sql [Résolu] - PHP - Programmation

Marsh Posté le 09-01-2006 à 16:27:12    

Bonjour,
J'ai un ptit souci dans mon code.
Lorsque j'execute une requete par exemple:

Code :
  1. SELECT * FROM `membres` WHERE `login` = 'Clam'


ça me retourne le meme resultat quand je recherche clam ou Clam. Comment faire pour que les majuscules soient prises en compte? Le champ login doit t'il avoir un type ou un interclassement particulier?
Merci


Message édité par clam8692 le 09-01-2006 à 17:04:20
Reply

Marsh Posté le 09-01-2006 à 16:27:12   

Reply

Marsh Posté le 09-01-2006 à 16:36:53    

essai avec login like 'Clam'


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 09-01-2006 à 16:41:15    

nan like ne marche pas non plus

Reply

Marsh Posté le 09-01-2006 à 16:47:10    

ça marche tres bien chez moi le = ou le like, tu as qu'elle version de mysql ? et tu ne fais pas un prétraitement en PHP ?


Message édité par chaced le 09-01-2006 à 16:47:25

---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 09-01-2006 à 16:49:01    

mysql 4.1.9 et même sans le traitement php ça ne marche pas chez moi. Mais quel est le type de tes champs? text, varchar ou autre? Moi je test avec des champs varchar

Reply

Marsh Posté le 09-01-2006 à 16:56:45    

Varchar de 16, j'ai tésté sur la table mysql, le champ user :d (et mysql 4.1.15)


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 09-01-2006 à 17:01:17    

Salut,
 
il faut voir avec BINARY
 
"Les valeurs dans les colonnes CHAR et VARCHAR sont classées et comparées sans tenir compte de la casse, à moins que l'attribut BINARY n'ai été spécifié lors de la création de la table. L'attribut BINARY signifie que les valeurs sont classées et triées en tenant compte de la casse, suivant l'ordre des caractères ASCII de la machine ou est installé le serveur MySQL. BINARY n'affecte pas les méthodes de lecture et de stockage des valeurs. "
 
 
 

Reply

Marsh Posté le 09-01-2006 à 17:03:56    

Oki c'est parfait, merci beaucoup ;)

Reply

Marsh Posté le 09-01-2006 à 17:08:03    

Tu peux faire tes recherches en précisant le binary dans la requête aussi d'ailleurs:
 

Code :
  1. select kkwet from truc where kkwet = binary 'B'

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed