Не можете да използвате подготвените изявления по този начин. Когато декларирате заместител, вие избягвате да правите каквито и да било свързани неща върху тях, оставяйки това на стойността на заместителя определение. Така че, например, можете да го използвате така:
$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);