Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/06/2013, 10:00
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: que hago cuando lo que inserto es una palabra reservada?

Cita:
Iniciado por fakieboris Ver Mensaje
Guardo la tendencia mundiales de twitter se actualizan cada 10 minutos, pero por ejemplo ayer una de las tendencias fue "Happy Fathers Day" y todo se tiro tres no me actualizaba, me salia el error de mysql, esperando Day... resulta que cuando la oracion salia de las tendencias todo bien hasta que volvia a ser tendencia, osea entraba el top 10 y otra vez el mysql no actualizaba. Tambien me ha pasado con otras palabras, si en la cadena en algun lugar hay una palabra reservada en cualquier lugar de la cadena pues mi base de datos no se actualiza y me sale error confundiendo esa palabra con una funcion de sql. Los nombres de campo no son problema pero si los valores que dependen y hay muchas etiquetas en ingles que contienen palabras como fue el caso de ayer que contenia una palabra en toda la cadena que es reservada.
Mira, todo esto tiene toda la impresión de ser un problema de programación, en tanto lo que tenga una cadena de texto, que se almacena como cadena de texto y se manipula como tal, no tiene por qué afectar la sintaxis de MySQL.
Sólo puede haber problemas sintácticos en una consulta si los contenidos de las variables se usan sin ser incluidos en una cadena, es decir, sin quedar encerrados entre apóstrofos.
Si el contenido de una cadena de texto incluye palabras reservadas, eso es total y absolutamente irrelevante para el SQL, porque el SQL no evalúa el contenido de las cadenas. Sólo su longitud, cuando es mayor al especificado para la columna a donde se almacena.
Si se producen errores de sintaxis por palabras reservadas contenidas en las cadenas, eso indica que hay errores o en la librería que se usa, o en la construcción de la sentencia si se hace programáticamente, o en la validación de los datos (off-topic de este foro), porque está creando la consulta incorrectamente.
Obviamente, para poder analizar el problema, necesitamos un ejemplo real de lo que te sucede, y no hipotéticos, porque como ya verás, el problema depende del entorno real... y no de la teoría.
En teoría, si el sistema está bien programado, el error que tienes no debería existir..
Yo, personalmente, me inclino a pensar en un error de programación, de la API o de la aplicación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)