Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

No distinguir mayusculas en consulta

Estas en el tema de No distinguir mayusculas en consulta en el foro de Mysql en Foros del Web. Buenas... actualmente estaba haciendo un buscador en PHP. Tienes dos opciones, uno simple o uno avanzado. El simple, lo que hace, es buscar en todos ...
  #1 (permalink)  
Antiguo 13/12/2008, 15:00
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
No distinguir mayusculas en consulta

Buenas... actualmente estaba haciendo un buscador en PHP. Tienes dos opciones, uno simple o uno avanzado. El simple, lo que hace, es buscar en todos los campos de la tabla y buscar los datos ingresados en el formulario. Todo funciona casi a la perfeccion, solo que... si yo ingreso "lombricultura" y en la BD el registro es "Lombricultura", NO me lo devuelve como un resultado de la consulta...

por que es esto?? Como puedo hacer para que no me distinga entre mayusculas y minusculas?? este es el codigo:

Código sql:
Ver original
  1. SELECT *, MATCH(nombre, lugar, ano, integrantes, objetivo, bibliografia) AGAINST ('%".$universal."%'  IN
  2. BOOLEAN MODE) AS criterio FROM proyectos WHERE MATCH(nombre, lugar, ano, integrantes, objetivo, bibliografia) AGAINST ('%".$universal."%'  IN BOOLEAN MODE) ORDER BY UPPER(criterio) DESC

lo de "IN BOOLEAN MODE" lo puse pq, no se por que, no me reconocia los indices FULLTEXT, y entonces no podia realizar el MATCH AGAINST... encontre eso por internet, y ahora puedo.. si alguno, de paso, tiene otra solucion, bienvenido!

Bueno, espero que me puedan ayudar con este problemita!! Muchas gracias por anticipado!!

Pablo

Última edición por GatorV; 13/12/2008 a las 15:09
  #2 (permalink)  
Antiguo 13/12/2008, 15:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No distinguir mayusculas en consulta PHP

Hola locoxchacho,

Que charset estas usando en tu BDD?, si termina con cs es porqu es sensible a las mayusculas/minusculas, si es ci, entonces el problema puede venir en tu consulta.

Saludos.

Tema trasladado a MySQL.
  #3 (permalink)  
Antiguo 13/12/2008, 15:13
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: No distinguir mayusculas en consulta

GatorV... te comento que el charset que utilizo es utf8_general_ci que, por lo que comentas, no es sensible a las mayusculas/minusculas... entonces el problema estaría en la consulta.

El match agains... está bien utilizado?? muchas gracias, espero que me puedan ayudar!

pablo.
  #4 (permalink)  
Antiguo 13/12/2008, 15:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No distinguir mayusculas en consulta

Según la referencia: http://dev.mysql.com/doc/refman/5.1/...t-boolean.html, FULL TEXT es ci por defecto, por lo que creo tu problema puede venir al usar el IN BOOLEAN MODE.

Saludos.
  #5 (permalink)  
Antiguo 13/12/2008, 16:32
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: No distinguir mayusculas en consulta

y entonces... si yo saco el IN BOOLEAN MODE, me aparece que no hay indice FULL TEXT en la columna elegida... como puedo arreglar eso, entonces? para que puede utilizar el MATCH AGAINST?

esto es lo que me devuelve sin el IN BOOLEAN MODE:

"Can't find FULLTEXT index matching the column list"

Alguna sugerencia?? saludos, gracias!
  #6 (permalink)  
Antiguo 13/12/2008, 17:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No distinguir mayusculas en consulta

Pues significa que alguna de las columnas que estas usando le falta el FULLTEXT, revisa que todas las columnas que quieres buscar tengan el indice FULL TEXT.

Saludos.
  #7 (permalink)  
Antiguo 13/12/2008, 18:12
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: No distinguir mayusculas en consulta

todas la tienen... y lo peor es que me pasa lo mismo tanto en mi servidor local como en el de internet, el remoto...

no entiendo que pasa... antes me salia asi, y ahora no se por que no me toma los indices de full text...

hay alguna otra forma de hacerlo que no sea con el ALTER TABLE? Pq lo hice asi, mediante SQL.. si hay otra forma, pruebo asi a ver que pasa, y sino... es un gran problema!

muchas gracias nuevamente!

Pablo.
  #8 (permalink)  
Antiguo 13/12/2008, 19:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No distinguir mayusculas en consulta

Pues que yo sepa la unica forma es con el ALTER TABLE para agregar el indice FULL TEXT, como te comento verifica con tu gestor de BDD que uses que todas tengan, ya que el problema viene de ahi.

Saludos.
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 11:52.