Вообще-то не должен
sql_query - такой функции в библиотеке php нету (ну это ладно, может пользовательская объявлена), без конкатенации строк кавычки совмещать тоже нельзя - а вот это странно, интерпретатор php не ругается...
А вы хотите сказать, что такой код вообще работает?
1) sql_query -> mysql_query
2) "SELECT id, username FROM users WHERE status=\"confirmed\" ORDER BY id DESC LIMIT 1"
Покажите все остальные переменные - $ext, $filenamereal откуда берутся?
Проверьте, что в конечном счёте вы пытаетесь найти именно изображение, т.е. выведите переменную $putx
Далее: imagegif и imagepng имеют только 2 параметра, quality поддерживает только imagejpeg
в 7-ой строке у $ext вы пропустили $.
По расширению не стоит проверять тип файла, лучше это делать через mime_content_type
В чём проблема - и так написано. Доступ запрещён. Разбирайтесь с привилегиями самой MySQL, может пароль друго или пользователя такого нет, либо этому пользвателю не разрешено подключаться с localhost...
DeepVarvar, не похоже, зачем тогда switch вообще? Скорее, это ссылки формируются циклом из базы. А нужно ещё эти ссылки обрабатывать. В общем, послушаем, что скажет автор.