Hacer consulta a mysql sin disitncion de mayusculas y minusculas (Cerrado)

Iniciado por Zeroql, 12 Julio 2011, 21:20 PM

0 Miembros y 1 Visitante están viendo este tema.

Zeroql

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 (php) [Seleccionar]
$rs = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM items WHERE search LIKE '%".$_GET['s']."%' LIMIT ".$offset.",".$limit);
$sqlrt=mysql_query("SELECT FOUND_ROWS() as total");


Y  mi pregunta es:

Como hago para realizar consulta sin distinguir  mayusculas de minisculas???
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


Zeroql

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?
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


Shell Root

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 ;)
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Zeroql

Aqui el resultado de la consulta

Código (sql) [Seleccionar]

MySQL ha devuelto un valor vacío (i.e., cero columnas). ( La consulta tardó 0.0009 seg )
SELECT *
FROM items
WHERE search LIKE  '%nokia%'
LIMIT 0 , 10


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

Código (sql) [Seleccionar]

Mostrando registros 0 - 4 (5 total, La consulta tardó 0.0011 seg)
SELECT *
FROM items
WHERE search LIKE  '%Nokia%'
LIMIT 0 , 10


osea  que el problema no es del code PHP sino de como se hace la consulta. como arreglar ese problema???
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


Shell Root

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 (sql) [Seleccionar]
mysql> SELECT * FROM tipoUsuario;
+----+---------------+--------+
| id | tipoUsuario   | estado |
+----+---------------+--------+
|  1 | Administrador |      1 |
|  2 | conductor     |      1 |
|  3 | Cliente       |      1 |
+----+---------------+--------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM tipoUsuario WHERE tipoUsuario LIKE '%c%';
+----+-------------+--------+
| id | tipoUsuario | estado |
+----+-------------+--------+
|  2 | conductor   |      1 |
|  3 | Cliente     |      1 |
+----+-------------+--------+
2 rows in set (0.00 sec)

mysql>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Nakp

de qué tipo es tu campo? y el cotejamiento de la tabla?
Ojo por ojo, y el mundo acabará ciego.

Zeroql

todos los campos y acotejamiento de la tabla es: latin1_spanish_ci   
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


Zeroql

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.
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#