La razón del problema la estas dando tu mismo, sólo que debes analizar con precisiónb lo que sucede...
Cita: Tengo un formulario que a través de POO me hace un update a una tabla.
Los formularios no realizan UPDATEs a las tablas de una BBDD. Se usan para enviar la información al script que lo realiza.
Cita: Resulta que realmente el update lo está haciendo pero sustituyendo todos los valores que le paso por formulario como vacíos.
No confundas: El UPDATE se está
ejecutando, pero lo que se ejecuta es la sentnecia SQL. Ahora bien si está reemplazando todo por vacíos, la razón sólo puede ser una: Los datos
no están llegando al scrpt que crea la sentencia y la ejecuta.
Cita: De manera que parece que realmente sí que está haciendo el update pero no como debería.
El UPDATE se está haciendo como debe. Lo que no estás haciendo en PHP es validar que los datos realmente hayan llegado
antes de crear el UPDATE.
Verifica los datos que llegan. Esa parte del script parece que no la estás posteando...