Anda tidak dapat menggunakan pernyataan yang disiapkan seperti itu. Saat mendeklarasikan placeholder, Anda menghindari melakukan hal-hal terkait pada mereka, meninggalkan ini ke nilai placeholder definisi. Jadi, misalnya, Anda dapat menggunakannya seperti itu:
$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);