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

Duda con like

Estas en el tema de Duda con like en el foro de Mysql en Foros del Web. Hola a todos, estoy realizando un buscador con php, y tengo un problema con esta consulta @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original 'SELECT * FROM ...
  #1 (permalink)  
Antiguo 20/03/2011, 15:12
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 8 meses
Puntos: 5
Duda con like

Hola a todos, estoy realizando un buscador con php, y tengo un problema con esta consulta

Código MySQL:
Ver original
  1. 'SELECT * FROM fotos WHERE title LIKE "'.$_GET['buscar'].'" ORDER BY horafecha DESC'

el $_GET['buscar'] es una variable que se pasa por url que no viene al tema en mysql, la variable funciona bien

digamos cuando pongo esto

Código MySQL:
Ver original
  1. 'SELECT * FROM fotos WHERE title LIKE "asd" ORDER BY horafecha DESC'

me aparece un registro con ASD, pero no me aparece supongamos un registro que contenga asdasdasd, me lo tomaria como un WHERE campo = "sad", y no un like como deberia ser ..

lo que deseo es supongamos, tengo 5 registros llamados "asd" "asd123" "asdasd" y al poner WHERE title LIKE "asd" aparescan todos ...

¿Como puedo solucionarlo?

Gracias!
  #2 (permalink)  
Antiguo 20/03/2011, 15:25
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Duda con like

Logré encontrar una solución parcial, pero cuando agrego un OR en esta consulta

Código MySQL:
Ver original
  1. 'SELECT * FROM perdidos WHERE title LIKE "%' . $_GET['buscar'] . '%" OR pais LIKE "%' . $_GET['buscar'] . '%" OR localidad LIKE "%' . $_GET['buscar'] . '%" OR descripcion "%' . $_GET['buscar'] . '%" ORDER BY horafecha DESC'

me dice:

Error en la consulta de conteo de registros: SELECT COUNT(*) FROM perdidos WHERE title LIKE "%asd%" OR pais LIKE "%asd%" OR localidad LIKE "%asd%" OR descripcion "%asd%". Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"%asd%"' at line 1
  #3 (permalink)  
Antiguo 20/03/2011, 15:51
 
Fecha de Ingreso: febrero-2008
Ubicación: Sevilla
Mensajes: 91
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Duda con like

Estas mezclando sentencias de mysql con sentencias de php y no me aclaro, la sentencia que te tira el error cual es, esta?

Código PHP:
'SELECT * FROM perdidos WHERE title LIKE "%' $_GET['buscar'] . '%" OR pais LIKE "%' $_GET['buscar'] . '%" OR localidad LIKE "%' $_GET['buscar'] . '%" OR descripcion "%' $_GET['buscar'] . '%" ORDER BY horafecha DESC' 
o esta?

Código:
SELECT COUNT(*) FROM perdidos WHERE title LIKE "%asd%" OR pais LIKE "%asd%" OR localidad LIKE "%asd%" OR descripcion "%asd%"
Porque en una haces un count y en la otra un select * y no me aclaro.

Si es la primera la que te lanza el error, es normal, estas mezclando comillas simples con comillas dobles por todos lados. Prueba asi:

Código PHP:
$sql mysql_query("SELECT * FROM perdidos WHERE title LIKE '%".$_GET['buscar']."%' OR pais LIKE '%".$_GET['buscar']."%' OR localidad LIKE '%".$_GET['buscar']."%' OR descripcion '%".$_GET['buscar']."%' ORDER BY horafecha DESC"); 
Un saludo!

Etiquetas: Ninguno
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 05:53.