Php 带有PDO Mysql的REGEXP
我试图在PDO Mydql中使用REGEXP,但出现了一些问题Php 带有PDO Mysql的REGEXP,php,mysql,regex,pdo,Php,Mysql,Regex,Pdo,我试图在PDO Mydql中使用REGEXP,但出现了一些问题 function artist_list($artist){ global $DBH; $STH = $DBH->prepare("SELECT songs ,image ,artist,album,r_year FROM english_fm WHERE artist REGEXP \"^[:artist]\" GROUP B
function artist_list($artist){
global $DBH;
$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);
$STH->execute();
$STH->setFetchMode(PDO::FETCH_ASSOC);
return $STH;
$DBH = Null;
}
当我使用REGEXP\“^[:artist]\”
时,这不起作用,但是如果我使用
REGEXP \"^[$artist]\"
它起作用了
function artist_list($artist){
global $DBH;
$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);
$STH->execute();
$STH->setFetchMode(PDO::FETCH_ASSOC);
return $STH;
$DBH = Null;
}
请帮助您不能像那样使用准备好的语句。当您声明占位符时,您可以在占位符上单击,将其留给占位符值定义。例如,您可以这样使用它:
$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);