Perfecto, es un error. Ahora veo por que... Recuerda que 'desc' es un atributo reservado en una consulta MySQL. Es por eso que tira error..
Intenta modificándola así:
Código PHP:
$sql = "UPDATE `productos` SET `titulo` = '$titulo', `categoria` = '$categoria', `desc` = '$desc', `recomendado` = '$recomendado' WHERE `id` = '$id'";