Foros del Web » Programando para Internet » PHP »

No funciona con LIKE

Estas en el tema de No funciona con LIKE en el foro de PHP en Foros del Web. Hola a todos uso esta consulta para mostrarla luego en una tabla: Código PHP: $query_NombreBuscado  =  sprintf ( "SELECT * FROM propietarios p, relatelprop r WHERE p.Nombre =  '%s' and p.CarnetIdentidad = r.CarnetIdentidad " ,  $colnombre_NombreBuscado );  Que pasa con ...
  #1 (permalink)  
Antiguo 15/06/2011, 14:19
Usuario no validado
 
Fecha de Ingreso: abril-2010
Ubicación: La habana
Mensajes: 229
Antigüedad: 14 años, 7 meses
Puntos: 4
No funciona con LIKE

Hola a todos uso esta consulta para mostrarla luego en una tabla:

Código PHP:
$query_NombreBuscado sprintf("SELECT * FROM propietarios p, relatelprop r WHERE p.Nombre =  '%s' and p.CarnetIdentidad = r.CarnetIdentidad "$colnombre_NombreBuscado); 
Que pasa con lo anterior, que para encontarar a "José López Hernández" tengo que escribirlo completo, y lo que quiero es que cuando $colnombre_NombreBuscado valga José me salgan todos los José.

Probé con:
Código PHP:
$query_NombreBuscado sprintf("SELECT * FROM propietarios p, relatelprop r WHERE p.Nombre LIKE  '%s' and p.CarnetIdentidad = r.CarnetIdentidad "$colnombre_NombreBuscado); 
Pero nada, me sucede lo mismo que con el primer código.
Qué debo hacer para que este código haga lo que quiero.

Salu2 Y gracias de antemano.
  #2 (permalink)  
Antiguo 15/06/2011, 14:22
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: No funciona con LIKE

%= cualquier cosa

Jose% asi funciona

%j no funciona
  #3 (permalink)  
Antiguo 15/06/2011, 14:27
Avatar de jairoortiz  
Fecha de Ingreso: junio-2010
Ubicación: Barranquilla
Mensajes: 27
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: No funciona con LIKE

Hola eljuank,

ya probaste con like ?
  #4 (permalink)  
Antiguo 15/06/2011, 14:36
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: No funciona con LIKE

Cita:
Iniciado por jairoortiz Ver Mensaje
Hola eljuank,

ya probaste con like ?
HUMMM...
leiste la pregunta¿?
  #5 (permalink)  
Antiguo 15/06/2011, 14:50
Usuario no validado
 
Fecha de Ingreso: abril-2010
Ubicación: La habana
Mensajes: 229
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: No funciona con LIKE

Cita:
Iniciado por enlinea777 Ver Mensaje
%= cualquier cosa

Jose% asi funciona

%j no funciona
Sí pero el tema es cómo tendría que ser la modificación al código, porque no me queda claro. Disculpa si es que soy muy bruto pero el problema es que yo recibo la varioable y con ella hago la query. Cómo tendría que modificar el código que tengo? para poder hacerlo con LIKE.
Salu2
  #6 (permalink)  
Antiguo 15/06/2011, 15:04
Avatar de jairoortiz  
Fecha de Ingreso: junio-2010
Ubicación: Barranquilla
Mensajes: 27
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: No funciona con LIKE

Cita:
Iniciado por eljuank1982 Ver Mensaje
Hola a todos uso esta consulta para mostrarla luego en una tabla:

Código PHP:
$query_NombreBuscado sprintf("SELECT * FROM propietarios p, relatelprop r WHERE p.Nombre =  '%s' and p.CarnetIdentidad = r.CarnetIdentidad "$colnombre_NombreBuscado); 
Que pasa con lo anterior, que para encontarar a "José López Hernández" tengo que escribirlo completo, y lo que quiero es que cuando $colnombre_NombreBuscado valga José me salgan todos los José.

Probé con:
Código PHP:
$query_NombreBuscado sprintf("SELECT * FROM propietarios p, relatelprop r WHERE p.Nombre LIKE  '%s' and p.CarnetIdentidad = r.CarnetIdentidad "$colnombre_NombreBuscado); 
Pero nada, me sucede lo mismo que con el primer código.
Qué debo hacer para que este código haga lo que quiero.


Salu2 Y gracias de antemano.
Donde debo leer?
  #7 (permalink)  
Antiguo 15/06/2011, 15:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: No funciona con LIKE

Para escapar el % en el nombre usa %%, es decir tu query quedaría mas o menos así:
Código PHP:
Ver original
  1. $query = sprintf("SELECT... WHERE nombre LIKE '%s%%'", $nombre);

Saludos.
  #8 (permalink)  
Antiguo 15/06/2011, 15:10
Avatar de jairoortiz  
Fecha de Ingreso: junio-2010
Ubicación: Barranquilla
Mensajes: 27
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: No funciona con LIKE

En realidad seria asi:

Cita:
$query = sprintf("SELECT... WHERE nombre LIKE '%s%'", $nombre);
  #9 (permalink)  
Antiguo 15/06/2011, 15:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: No funciona con LIKE

¿Ya leiste el manual jairoortiz? Específica que si quieres usar el carácter de % en sprintf debes de usar dos %% para evitar que lo interprete como parte de la cadena...
  #10 (permalink)  
Antiguo 16/06/2011, 05:59
Usuario no validado
 
Fecha de Ingreso: abril-2010
Ubicación: La habana
Mensajes: 229
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: No funciona con LIKE

Gracias a to2 lo probaré cuando llegue a casa, saludos...Les informaré cómo me fue. Puede que demore en contestar porque donde vivo el accesos a internet es un poco complejo.
Salu2

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 22:13.