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.
$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???
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?
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 ;)
Aqui el resultado de la consulta
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.
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???
Mira por ejemplo, tengo un registro en mayúscula y otro en minúscula, y cuando realizo la query, me trae los 2.
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>
de qué tipo es tu campo? y el cotejamiento de la tabla?
todos los campos y acotejamiento de la tabla es: latin1_spanish_ci
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.