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

Problema con SQL LIKE

Estas en el tema de Problema con SQL LIKE en el foro de Bases de Datos General en Foros del Web. Hola amigos, quiero extraer registros de mi base de datos que en su texto se encuentre la palabra que se inserte en un form. Uso: ...
  #1 (permalink)  
Antiguo 12/04/2010, 13:29
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Exclamación Problema con SQL LIKE

Hola amigos, quiero extraer registros de mi base de datos que en su texto se encuentre la palabra que se inserte en un form. Uso:

Código SQL:
Ver original
  1. $busquedaPrueba = "SELECT * FROM articulos WHERE post LIKE '%$palabra'%";

Y me encuentra todos los texos que se encuentre esa palabra, pero sin importar si esta al medio o final, es decir, si busco "vista", me encuentra "revista", "altavista", etc. Y quiero que me muestre unicamente los registros que tengan la palabra "vista".

Como seria la sentencia entonces?
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #2 (permalink)  
Antiguo 12/04/2010, 13:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Problema con SQL LIKE

Buenas!

La forma correcta para hacer lo que pedi seria:

Código:
$busquedaPrueba = "SELECT articulos.* FROM articulos WHERE post LIKE '$palabra'
O
Código:
$busquedaPrueba = "SELECT articulos.* FROM articulos WHERE post = '$palabra'

Saludos!
  #3 (permalink)  
Antiguo 12/04/2010, 13:39
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problema con SQL LIKE

Las soluciones directamente no me arrojan resultados :S
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #4 (permalink)  
Antiguo 12/04/2010, 13:42
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Problema con SQL LIKE

Código PHP:
Ver original
  1. $busquedaPrueba = "SELECT * FROM articulos WHERE post LIKE '%$palabra%'";

Pusiste una comilla dentro de los porcentajes. Y segundo, si tu intención es buscar las palabras que contengan 'vista', pues revista y altavista la contienen, así que debería estar bien lo que haces .
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 12/04/2010, 13:48
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problema con SQL LIKE

Cita:
Iniciado por spider_boy Ver Mensaje
Código PHP:
Ver original
  1. $busquedaPrueba = "SELECT * FROM articulos WHERE post LIKE '%$palabra%'";

Pusiste una comilla dentro de los porcentajes. Y segundo, si tu intención es buscar las palabras que contengan 'vista', pues revista y altavista la contienen, así que debería estar bien lo que haces .
Justamente lo que necesito es que busque estrcitamente $palabra, que no devuelva resultados si esta dentro de otra ¿Se entiende?
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #6 (permalink)  
Antiguo 12/04/2010, 13:51
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Problema con SQL LIKE

Pues en ese caso, la 2da solución que te dio @estefanosalazar es la correcta...

Código PHP:
Ver original
  1. $busquedaPrueba = "SELECT * FROM articulos WHERE post = '$palabra'";

Así solo buscará la palabra exacta. Espero te sirva.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #7 (permalink)  
Antiguo 12/04/2010, 13:53
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problema con SQL LIKE

Pero esa solucion no me devuelve ningun resultado :S. Osea esa palabra se esta buscando dentro de todo un texto que se encuentra en la BD. Busco 'a', que es obvio que existe y nada .
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #8 (permalink)  
Antiguo 12/04/2010, 13:57
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Problema con SQL LIKE

... Pues debiste aclarar desde un principio que solo buscabas una palabra exacta dentro de un texto. Ya que en un principio no daba a entender eso, o yo fui el lento que no lo comprendió .

Creo que esto puede servirte : http://dev.mysql.com/doc/refman/5.0/...xt-search.html

No puedo ayudarte con código... ya que no sé como usar aquellas funciones.

Lee, y si no entiendes, busca por las funciones en español.

EDIT : Cambié el link, ese está con documentación completa y en español
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #9 (permalink)  
Antiguo 12/04/2010, 17:28
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Tema movido desde PHP a bases de datos
  #10 (permalink)  
Antiguo 20/01/2013, 17:25
 
Fecha de Ingreso: enero-2013
Mensajes: 1
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Problema con SQL LIKE

hola amigo tonchii.
mira es facil, tal y como lo haces esta bien a ecepcion de una cosa
deja un espacio entre el % y la palabra
queda asi:
Cita:
$busquedaPrueba = "SELECT * FROM articulos WHERE post LIKE '%$ palabra %'";
Por lo menos asi me funciona a mi :D
Saludos Amigo...

Etiquetas: sql
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:08.