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

problemas con la sintaxis

Estas en el tema de problemas con la sintaxis en el foro de Mysql en Foros del Web. buenas y gracias por la ayuda. resulta que tengo un formulario de busqueda. cuando el usuario se loguea guardo la direccion, departamento y seccion a ...
  #1 (permalink)  
Antiguo 16/07/2015, 14:29
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
problemas con la sintaxis

buenas y gracias por la ayuda.
resulta que tengo un formulario de busqueda. cuando el usuario se loguea guardo la direccion, departamento y seccion a la que pertenece en tres variables de session
luego cuando entro en el formulario de busqueda paso el valor de esas tres variables de secion a tres variables locales para utilizarlas en mi sentencia SQL para mysql.
la sentencia busca un registro donde coincidan lo que el usuario proporciona mas los valores contenidos en esas tres variables.
si hay coincidencia en los 4 valores me trae el registro hasta ay todo va perfecto..
el problema es que cuando no coincide alguno de los valores me da este error:

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 '' at line 1

lo raro es que lo hace bien si hay coincidencia y error si no hay coincidencia paso a postear el codigo:
Cita:
Editado: Codigo de programacion no permitido en foros de BBDD. Leer las reglas del subforo, por favor.
Código MySQL:
Ver original
  1. SELECT * FROM requisicion
  2. WHERE requisicion.NumRequisicion = '$VarReq_BuscaReq'
  3. AND requisicion.Dir = '$VarDir'
  4. AND requisicion.Depto = '$VarDep'
  5. AND requisicion.Sec = '$VarSec'

Última edición por gnzsoloyo; 16/07/2015 a las 14:49
  #2 (permalink)  
Antiguo 16/07/2015, 14:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: problemas con la sintaxis

imprime el query que estas mandando y revisa cual es la sintaxis, a lo mejor tienes un valor varchar y lo estas manejando como entero....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 20/07/2015, 11:11
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: problemas con la sintaxis

la linea de error era esta con el print:
Código MySQL:
Ver original
  1. SELECT * FROM requisicion WHERE requisicion.NumRequisicion = '150' AND
  2. requisicion.Dir = '02' AND requisicion.Depto = '01' AND requisicion.Sec = '01'
  3. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
  4. version for the right syntax to use near '' at line 1
y esta es la linea cuando no da error con el print:
Código MySQL:
Ver original
  1. SELECT * FROM requisicion WHERE requisicion.NumRequisicion = '118' AND requisicion.Dir = '02'
  2. AND requisicion.Depto = '01' AND requisicion.Sec = '01'
el registro 150 de la primera linea en la tabla tiene estos valores:

150 02 01 00


lo que deberia pasar es que no trajera nada porque los datos no coinciden...
no un error de syntax..

Última edición por gnzsoloyo; 20/07/2015 a las 11:33
  #4 (permalink)  
Antiguo 20/07/2015, 11:48
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, 4 meses
Puntos: 2658
Respuesta: problemas con la sintaxis

Por lo pronto, no existe alli ningun error de sintaxis, a menos que se esté disparando por el uso de palabras reservadas (algo que no se detecta a simple vista).
Probemos lo siguiente, aprovechando para quitar la indicación innecesaria de la tabla (cuando es una sola, es irrelevante indicarlo en los campos):
Código MySQL:
Ver original
  1. FROM requisicion
  2. WHERE `NumRequisicion` = '$VarReq_BuscaReq'
  3.     AND `Dir` = '$VarDir'
  4.     AND `Depto` = '$VarDep'
  5.     AND `Sec` = '$VarSec'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php, registro, select, sintaxis, 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 11:27.