9xakep,
По пунктам тогда:
1. В Вашем коде синтаксис не верный
2. Про фильтрацию. Напрямую получаемые от пользователя данные вставлять нельзя - сломают сайт. Надо фильтровать, например intval, если число, заслешивать кавычки, чистить от хтмл-тегов.
Попробуйте пока всё же мой вариант
mysql_query('INSERT INTO `users` (avatar) VALUES ('.$a.') WHERE `name` = '.$login.' AND `pass` = '.$pass);
3. Откуда берутся значения $login и $pass? Они точно существуют?
Попробуйте вывести так
echo 'INSERT INTO `users` (avatar) VALUES ('.$a.') WHERE `name` = '.$login.' AND `pass` = '.$pass;
Всё на месте?
4.
nasqad,
в натуре, надо
UPDATE SET