El problema es que estas concatenando los valores de la variable $_POST sin verificar si realmente contienen algún valor, y para efectos de usar UPDATE necesitas solo pasar los campos que necesitan ser cambiados.
Te dejo un ejemplo de como puedes hacer eso, ojo es un ejemplo así que solo ocupa la idea principal y adaptalo a tu problema.
Código PHP:
Ver original $id = 10;
function getSetString($parray){
foreach($parray as $key => $value){
$setArray[] = "$key = $value";
}else{
$setArray[] = "$key = '$value'";
}
}
}
}
$setString = getSetString($post_array);
$sqlQuery = "UPDATE tabla SET {$setString} where id=$id";
echo $sqlQuery;