это беспорядок - как другие говорили, что вы используете одни и те же переменные для разных целей.
То, что вы храните целые числа, которые, по-видимому, представляют перечисления в поле типа char, является плохим.
Вы перебираете второй набор результатов, чтобы найти последнюю запись (из несортированного набора результатов!).
Вам нужен только один запрос - не 2.
SELECT f.artist_name, f.artist_id, f.dateLastSent....
SUBSTR(
MAX(
CONCAT(DATE_FORMAT(date_submit, '%Y%m%d%H%i%s'), a.image_link)
), 15) as img_link
FROM followArtist f
LEFT JOIN artWork a
ON (a.artist_id=f.artist_id AND a.make_avail = '1')
WHERE user_id = $user_id
GROUP BY f.artist_name, f.artist_id, f.dateLastSent....