Du kan inte använda de förberedda uttalandena så. När du deklarerar en platshållare undviker du att göra relaterade saker på dem och lämna detta till platshållarens värde definition. Så, till exempel, kan du använda det så här:
$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);