Foros del Web » Programando para Internet » PHP »

Diferencias entre mayusculas y minusculas

Estas en el tema de Diferencias entre mayusculas y minusculas en el foro de PHP en Foros del Web. Holas gente, me cayo una duda sobre un sistemita que tengo y me di cuenta que no me hace diferencias entre mayúsculas y minúsculas en ...
  #1 (permalink)  
Antiguo 30/07/2009, 04:54
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Diferencias entre mayusculas y minusculas

Holas gente, me cayo una duda sobre un sistemita que tengo y me di cuenta que no me hace diferencias entre mayúsculas y minúsculas en el nombre o nick, no pasa lo mismo con la password por que como la encripto es única y demás, mi pregunta es que puedo hacer para que el usuario me escriba el nick como lo inscribio, digo en mi caso me inscribí aquí como kaninox y al poner KANINOX o Kaninox ya no me debería dejar entrar al sistema? algo que me ayude a comprobar cadenas idénticas respetando mayúsculas minúsculas etc...

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 30/07/2009, 07:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Diferencias entre mayusculas y minusculas

Puedes hacer un query de esta forma

Código php:
Ver original
  1. $r = mysql_query("SELECT * FROM tabla WHERE Nombre = '".$_POST["Nombre"]."' COLLATE latin1_general_cs");

COLLATE latin1_general_cs hace el truco para hacerlo case sensitive. Lo que pasa es que CHAR, VARCHAR, TEXT son por defecto case insensitive. Si quieres hacer el query sin necesidad de crear COLLATE latin1_general_cs puedes crear la columna como BINARY, VARBINARY, BLOB estos son case sensitive.

Mas informacion http://dev.mysql.com/doc/refman/5.0/...nsitivity.html

Edito:
Lo que te indique hace que toda la consulta sea case sensitive. Si quieres que solamente una parte de toda la consulta sea case sensitive usa lo que te sugiere emiliodeg

Última edición por abimaelrc; 30/07/2009 a las 07:56
  #3 (permalink)  
Antiguo 30/07/2009, 07:44
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Diferencias entre mayusculas y minusculas

bueno en php existe strcasecmp()
y en mysql el operador se llama binary, usese de la siguiente manera

Código PHP:
mysqlSELECT 'a' 'A''a' BINARY 'A';
+-----------+------------------+
'a' 'A' 'a' BINARY 'A' |
+-----------+------------------+
|
+-----------+------------------+
1 row in set (0.03 sec)
mysqlSELECT 'a' 'a ''a' BINARY 'a ';
+------------+-------------------+
'a' 'a ' 'a' BINARY 'a ' |
+------------+-------------------+
|
+------------+-------------------+
1 row in set (0.00 sec
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 30/07/2009, 19:23
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Diferencias entre mayusculas y minusculas

me funciono perfecto con BINARY

$busca_usuario=mysql_query("SELECT * FROM users"
." WHERE user = BINARY '$_POST[usuario]'"........

no tenia idea del uso de binary muchas gracias....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.