Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error en Consulta SQL

Estas en el tema de Error en Consulta SQL en el foro de PHP en Foros del Web. SELECT * FROM saldos_productos WHERE Descripcion LIKE '%%' OR Cod LIKE '%%' AND Estado='0' ORDER BY Cod ASC Tengo la siguiente consulta MYSQL y la ...
  #1 (permalink)  
Antiguo 08/01/2016, 13:12
 
Fecha de Ingreso: enero-2016
Mensajes: 3
Antigüedad: 8 años, 3 meses
Puntos: 0
Busqueda Error en Consulta SQL

SELECT * FROM saldos_productos WHERE Descripcion LIKE '%%' OR Cod LIKE '%%' AND Estado='0' ORDER BY Cod ASC

Tengo la siguiente consulta MYSQL y la idea es que me busque por descripcion o por cod pero solo de los producos que estan en estado 0 pero no me funciona, perdon si la consulta es muy basica, pero estoy recien aprendiendo.

Gracias
  #2 (permalink)  
Antiguo 08/01/2016, 13:28
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Error en Consulta SQL

Hola creo esta mal tu consulta debes mejorar algunas cosas como cual es la variable consultaras en tu comparativa like. ya que no esta igual te paso un ejemplo y espero pueda ayudarte:

Código SQL:
Ver original
  1. 'SELECT * FROM saldos_productos WHERE descripcion LIKE "%$busqueda%" OR Cod LIKE "%$busqueda%" and estado = 0 order by Cod asc';

Posdata: la consulta es sobre mysql no de php.
  #3 (permalink)  
Antiguo 08/01/2016, 13:34
 
Fecha de Ingreso: enero-2016
Mensajes: 3
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Error en Consulta SQL

Muchas gracias por contestar.

Código SQL:
Ver original
  1. SELECT * FROM saldos_productos WHERE Descripcion LIKE '%".$valor."%' OR Cod LIKE '%".$valor."%' AND Estado = 0 ORDER BY Cod ASC

Asi es como lo tengo, pero aun asi me muestra todos los valores y no solo los que poseen estado 0
  #4 (permalink)  
Antiguo 08/01/2016, 13:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error en Consulta SQL

No estás teniendo en cuenta las reglas de logica proposicional.
El OR es una disyunción que separa las condiciones en dos.
Esta es la primera condición:
Código SQL:
Ver original
  1. Descripcion LIKE '%".$valor."%'
Esta es una segunda condición independiente:
Código SQL:
Ver original
  1. Cod LIKE '%".$valor."%' AND Estado = 0
La query te devolverá todos los que cumplan con la primera, y además aquellos que cumplan con la segunda.

Para hacer que sea una sola condición, y que se considere como una sola cosa esto:
Código SQL:
Ver original
  1. Descripcion LIKE '%".$valor."%' OR Cod LIKE '%".$valor."%'
la consulta debe estar escrita así:
Código SQL:
Ver original
  1. SELECT *
  2. FROM saldos_productos
  3. WHERE
  4.      (Descripcion LIKE '%".$valor."%' OR Cod LIKE '%".$valor."%')
  5.      AND Estado = 0 ORDER BY Cod ASC
o sea, con uso de paréntesis, lo mismo que en matemática.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 08/01/2016, 13:48
 
Fecha de Ingreso: enero-2016
Mensajes: 3
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Error en Consulta SQL

Extraordinario !!!
Me quedó muy claro y el problema esta solucionado, y la respuesta super rapida.
Muchas Gracias leonagelic por las ganas de ayudar y gnzsoloyo por ser concreto en la respuesta.

:)

Última edición por alexptorress; 08/01/2016 a las 13:54

Etiquetas: mysql, select, 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.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:45.