Sintaxis de la actualización de MySQL usando paréntesis

En el siguiente código $ keyresult y $ valueresult son listas separadas por comas de columnas en mi db y los valores que quiero poner en ellas en la fila identificada. El problema es que el código no está haciendo lo que esperaba y devuelve un error de syntax en la consulta.

$q3 = "UPDATE post SET ($keyresult) VALUES ('$valueresult') WHERE user_id='$user_id' AND post_id='$post_id' AND post_status='active'"; 

¿Cómo puedo arreglar la syntax de esto?

Solutions Collecting From Web of "Sintaxis de la actualización de MySQL usando paréntesis"

Está mezclando la syntax INSERTAR y ACTUALIZAR.

 $q3 = "UPDATE `post` SET `$keyresult` = '$valueresult' WHERE user_id='$user_id' AND post_id='$post_id' AND post_status='active'"; 

Supongo que está escapando correctamente $valueresult , $user_id y $post_id antes de ejecutar su consulta. Si no es así, y estos son valores proporcionados por el usuario, está muy abierto a las inyecciones de SQL . Recomiendo examinar las declaraciones preparadas para eliminar este riesgo.