ca peut pas fonctionner au vu de la fin de ta requête, car les guillemets du where id= incluent le LIMIT 1
j'ai pas cherché plus loin pour le moment...
[EDIT] a priori la première guillemet juste après le set ne sert à rien non plus. je te conseille un echo $sql pour bien voir quelle est la requête construite, ca permet de mieux voir les pb de caractère genre guillemets ou apostrophe.