Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Zeroql en 12 Julio 2011, 21:20 pm



Título: Hacer consulta a mysql sin disitncion de mayusculas y minusculas (Cerrado)
Publicado por: Zeroql en 12 Julio 2011, 21:20 pm
Buenas.

bueno tengo un sistema de busqueda, en mi pagina, pero cuando realizo la consulta Debo ingresar la palabra como esta en el registro para que me la encuentre

tengo este code para hacer la consulta.

Código
  1. $rs = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM items WHERE search LIKE '%".$_GET['s']."%' LIMIT ".$offset.",".$limit);
  2. $sqlrt=mysql_query("SELECT FOUND_ROWS() as total");

Y  mi pregunta es:

Como hago para realizar consulta sin distinguir  mayusculas de minisculas???


Título: Re: Hacer consulta a mysql sin disitncion de mayusculas y minusculas
Publicado por: Zeroql en 12 Julio 2011, 22:36 pm
Acabo de ver algo y es que al parecer si hace la busquda pero no me muestra ningun resultado..

Ejm:

busco Nokia= 10 resultados con la carga como debe ser
busco nokia= ningun resultado pero el diseño para cuando hay resultados lo muestra.

que puede ser ahi el error?


Título: Re: Hacer consulta a mysql sin disitncion de mayusculas y minusculas
Publicado por: Shell Root en 12 Julio 2011, 23:38 pm
Printea la query y ponla en el motor de base de datos. Allí verificas que es correcta la query y que el error esta en el código ;)


Título: Re: Hacer consulta a mysql sin disitncion de mayusculas y minusculas
Publicado por: Zeroql en 13 Julio 2011, 02:02 am
Aqui el resultado de la consulta

Código
  1. MySQL ha devuelto un valor vacío (i.e., cero columnas). ( La consulta tardó 0.0009 seg )
  2. SELECT *
  3. FROM items
  4. WHERE SEARCH LIKE  '%nokia%'
  5. LIMIT 0 , 10

y cuando hago la consulta con nokia teniendo la primera mayuscula.

Código
  1. Mostrando registros 0 - 4 (5 total, La consulta tardó 0.0011 seg)
  2. SELECT *
  3. FROM items
  4. WHERE SEARCH LIKE  '%Nokia%'
  5. LIMIT 0 , 10
  6.  

osea  que el problema no es del code PHP sino de como se hace la consulta. como arreglar ese problema???


Título: Re: Hacer consulta a mysql sin disitncion de mayusculas y minusculas
Publicado por: Shell Root en 13 Julio 2011, 05:12 am
Mira por ejemplo, tengo un registro en mayúscula y otro en minúscula, y cuando realizo la query, me trae los 2.
Código
  1. mysql> SELECT * FROM tipoUsuario;
  2. +----+---------------+--------+
  3. | id | tipoUsuario   | estado |
  4. +----+---------------+--------+
  5. |  1 | Administrador |      1 |
  6. |  2 | conductor     |      1 |
  7. |  3 | Cliente       |      1 |
  8. +----+---------------+--------+
  9. 3 ROWS IN SET (0.00 sec)
  10.  
  11. mysql> SELECT * FROM tipoUsuario WHERE tipoUsuario LIKE '%c%';
  12. +----+-------------+--------+
  13. | id | tipoUsuario | estado |
  14. +----+-------------+--------+
  15. |  2 | conductor   |      1 |
  16. |  3 | Cliente     |      1 |
  17. +----+-------------+--------+
  18. 2 ROWS IN SET (0.00 sec)
  19.  
  20. mysql>


Título: Re: Hacer consulta a mysql sin disitncion de mayusculas y minusculas
Publicado por: Nakp en 13 Julio 2011, 05:30 am
de qué tipo es tu campo? y el cotejamiento de la tabla?


Título: Re: Hacer consulta a mysql sin disitncion de mayusculas y minusculas
Publicado por: Zeroql en 13 Julio 2011, 20:17 pm
todos los campos y acotejamiento de la tabla es: latin1_spanish_ci   


Título: Re: Hacer consulta a mysql sin disitncion de mayusculas y minusculas
Publicado por: Zeroql en 14 Julio 2011, 03:09 am
Ya he encontrado el problema y era el acotejamiento de la base de datos, que estaba en ANSI bin, la he cambiado a utf-8 latin  bin y me ha dado perfecto...

GRACIAS A TODOS POR LA COLABORACION.