Tak przygotowanych wypowiedzi nie można wykorzystać. Kiedy deklarujesz symbol zastępczy, unikasz robienia podobnych rzeczy na nich, pozostawiając to zastępczej wartości definicja. Na przykład możesz go użyć w ten sposób:
$STH = $DBH->prepare("SELECT songs ,image ,artist,album,r_year
FROM english_fm
WHERE artist REGEXP :artist
GROUP BY artist order by slno");
$STH->bindValue(":artist" , "^[$artist]", PDO::PARAM_STR);