Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/06/2009, 10:09
Avatar de gnzsoloyo
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: Problemas con un Simple SELECT

Me alegra que o hayas solucionado.
Ocasionalmente se da, y hay que tener en cuenta, que cuando construyes desde la programación de la aplicación las cadenas de las sentencias SQL incrustándole los valores, que uno se olvide de encerrar entre apóstrofes el contenido de los campos.
Cuando esto pasa se suelen dar errores casi imperceptibles:
- Si es una cadena lo que contiene, es posible que te salte un error de campo no encontrado o desconocido, porque interpreta la cadena como el nombre de un campo.
- Si es una fecha, puede darte error de sintaxis o valores truncados. porque queda algo así: campo = 2009-01-01 - 23:00:00, cuando en realidad debería recibir: campo '= 2009-01-01 - 23:00:00'.
- Los valores numéricos no suelen genera errores, salvo cuando exceden el ancho del campo y salta un "dato truncado en..."

El problema de este pequeño olvido es que cuando se revisa la sentencia, está perfectamente escrita. El error es que al estar representada la variable ($campo, en tu caso) y no el contenido de la variable, el error se vuelve invisible.
Esa es una de las razones de nuestra insistencia en que se ponga SQL y no PHP aquí.

Muchas veces la solución es simple: Hay que revisar lo que realmente queda en la variable de la sentencia, porque eso es lo que recibirá MySQL.

Este tipo de problemas es menos habitual en .Net o Java porque en esos lenguajes se usan conectores que permiten incrustar los parámetros como objetos, siendo el conector el que administra la estructura sintáctica correcta del dato.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)