Sie können die vorbereiteten Anweisungen nicht so verwenden. Wenn Sie einen Platzhalter deklarieren, vermeiden Sie alle damit verbundenen Dinge auf ihnen und überlässt dies dem Platzhalter value Definition. Sie können es beispielsweise so verwenden:
$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);