Hola fakieboris:
La consulta no tiene nada de raro, es decir, al colocar el valor entre comillas simples (') estás indicando que se trata de una cadena, por lo tanto, si tu campo es de tipo CARACTER, entonces de debería permitir actualizar el registro, independientemente de que se trate o no de una palabra reservada, checa este script:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.06 sec)
Query OK, 3 rows affected (0.05 sec)
+------+----------+
| id | campo |
+------+----------+
| 1 | DIA |
| 2 | FECHA |
| 3 | INSERTAR |
+------+----------+
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.01 sec)
+------+--------+
| id | campo |
+------+--------+
+------+--------+
Observa que las tres palabras que actualizo (DAY, DATE, INSERT) son palabras reservadas, pero NO HAY NINGÚN PROBLEMA AL ACTUALIZAR EL REGISTRO.
Verifica qué es exactamente lo que estás tratando de ejecutar, un error típico que tienen nos programadores en PHP es obviar los valores de los parámetros, es posible que alguno de estos venga vacío. Verifica este detalle y si continuas con problemas postea la estructura de tu tabla con
Ahora bien, otro problema que si puede presentarse con las palabras reservadas es por ejemplo cuando utilizas estas palabras como NOMBRES DE CAMPOS, en este caso lo que tienes que hacer es manejar estos nombres entre acentos graves (`) es decir, tener algo como esto
Observa que aquí estoy suponiendo tener un campo que se llama UPDATE... lo cual es un problema.
Saludos
Leo.