我正在尝试在 PDO Mysql 中使用 REGEX 但出现问题
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;
}
请帮忙
您不能这样使用准备好的语句。当您声明占位符时,您避免做任何相关的事情在他们身上,将其留给占位符value定义。因此,例如,您可以这样使用它:
$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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)