почему в бд нельзя хранить имя файла с картинкой (при отсутствии пусть там null будет)? тогда при заливке делаем апдейт (сразу исключаем дальнейшие проверки типа file_exists), а для отображения просто не будет делать отдельный запрос к бд, дополнительная колонка в select не сделает лишней нагрузки
такой запрос будет всегда:
select nick_name, login, user_posts from users where user_session='tratata';
что мешает сделать сроазу
select nick_name, login, user_posts, kartinka from users where user_session='tratata';
ну и дальше <img src=<?$rows['kartinka']?>> типа того.
хотя "проверка" на стороне клиента очень прикольная

и ещё думаю не хорошо решать проблемы на более низком уровне (веб-сервера) лучше ограничеваться возможностями пхп.