Bạn không thể sử dụng các câu lệnh đã chuẩn bị sẵn như vậy. Khi bạn khai báo trình giữ chỗ, bạn tránh thực hiện bất kỳ nội dung nào có liên quan trên chúng, để lại giá trị này cho trình giữ chỗ giá trị Định nghĩa. Vì vậy, chẳng hạn, bạn có thể sử dụng nó như thế:
$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);