Foros del Web » Programando para Internet » PHP »

WHERE syntax Error!

Estas en el tema de WHERE syntax Error! en el foro de PHP en Foros del Web. Hola estoy haciendo la siguiente consulta SQL Cita: "SELECT id FROM `like` WHERE like=$frase" donde $frase= a un texto largo ejemplo "los amigos verdaderos SIEMPRE ...
  #1 (permalink)  
Antiguo 16/12/2011, 08:55
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Pregunta WHERE syntax Error!

Hola estoy haciendo la siguiente consulta SQL


Cita:
"SELECT id FROM `like` WHERE like=$frase"

donde $frase= a un texto largo ejemplo "los amigos verdaderos SIEMPRE pero SIEMPRE se reconcilian pase lo que pase"


y esto me da un error de sitaxis, tengo forma de buscar este id?



en que me estoy equivocando?


Saludos.
  #2 (permalink)  
Antiguo 16/12/2011, 08:59
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: WHERE syntax Error!

"SELECT id FROM `like` WHERE like='$frase'"
  #3 (permalink)  
Antiguo 16/12/2011, 09:01
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: WHERE syntax Error!

Le puse las comillas simples e igual me da el mismo error...
  #4 (permalink)  
Antiguo 16/12/2011, 09:02
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: WHERE syntax Error!

"SELECT id FROM like WHERE like='$frase' ";

o


"SELECT id FROM like WHERE like=' ". $frase . " ' ";

cualquiera de estas dos formas es correcta.
Solo que en la 2 rompes la cadena la concatenas con la variable y luego las unes denuevo a la cadena.

saludos.
  #5 (permalink)  
Antiguo 16/12/2011, 09:04
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: WHERE syntax Error!

aaa perdon !.. si estas usando like.. tienes que usar % ..
de la siguiente forma

"SELECT id FROM like WHERE like '%$frase' ";

o

"SELECT id FROM like WHERE like '%$frase%' ";

o

"SELECT id FROM like WHERE like '$frase%' ";

depende si la palab ra que buscas es al principio del texto... si puede estar en cualquier lado del texto.. o si esta al final del texto. saludos ..
  #6 (permalink)  
Antiguo 16/12/2011, 09:06
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: WHERE syntax Error!

en donde pongo el %?
  #7 (permalink)  
Antiguo 16/12/2011, 09:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: WHERE syntax Error!

te respondi ahi mismo !

si estas buscando una palabra en un texto usa '%$palabra%'

si estas buscando una palabra pero que este al principio del texto... '$palabra%'

si estas buscando una palabra que este al final del texto ... '%$palabra'

PD : el like no se usa con signo = ...

Like '$palabra%'


saludos.
  #8 (permalink)  
Antiguo 16/12/2011, 09:12
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: WHERE syntax Error!

no busco una palabra sino una frase entera ejemplo "los amigos verdaderos SIEMPRE pero SIEMPRE se reconcilian pase lo que pase"


No busco frases parecidas sino frases igual a esa... como lo tendria que poner?

WHERE like= like es el campo en donde busco la frase!



Saludos.!
  #9 (permalink)  
Antiguo 16/12/2011, 09:19
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: WHERE syntax Error!

... menudo webeo .. jaja

select id from tabla where like like '%palabra%':
  #10 (permalink)  
Antiguo 16/12/2011, 09:20
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: WHERE syntax Error!

me dice esto:
Cita:
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 'like like '%palabra%'' at line 1
  #11 (permalink)  
Antiguo 16/12/2011, 09:21
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: WHERE syntax Error!

WHERE MATCH campo AGAIN 'palabras'
__________________
la la la
  #12 (permalink)  
Antiguo 16/12/2011, 09:21
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: WHERE syntax Error!

te dejo un ejemplo claro.

SELECT *
FROM Store_Information
WHERE store_name LIKE '%AN%'


http://sql.1keydata.com/es/sql-like.php
  #13 (permalink)  
Antiguo 16/12/2011, 09:28
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: WHERE syntax Error!

Gracias por la ayuda, lo termine poniendo asi:


Cita:
"SELECT id FROM `like` WHERE `like` LIKE '%$frase%'"

Creo que lo que ayudo fue el `like`


Saludos.
  #14 (permalink)  
Antiguo 16/12/2011, 11:21
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: WHERE syntax Error!

Llegué algo tarde, pero por si llegan usuarios con el mismo problema, explico:
like es una palabra reservada de MySQL, aquí custus1 estaba usándola sin comilla invertida a pesar de que intentaba referirse a un campo, mas no a la palabra reservada en sí.
Para evitar ésto, se debe usar comilla invertida (`) siempre en los nombres de tablas o campos, o al menos cuando usamos nombres reservados (primary, key, like, select, insert,...)

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: sql, syntax
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 06:31.