如何在MySQL查询中使用preg_replace
。
"SELECT * FROM video_master WHERE preg_replace( '/\s+- /', ' ', trim($title))"
答案 0 :(得分:0)
你需要像这样使用
$pattern = "/\s+- /";
$title= preg_replace($pattern,'',$string);
$query = " SELECT * FROM video_master WHERE column = '$title';";
答案 1 :(得分:0)
我认为你可以使用sprintf:
$pattern = "/\s+- /";
$query = sprintf("SELECT * FROM video_master WHERE column = '%s';", preg_replace($pattern,'',$string));
sprintf总是适合PHP中的MySQL查询,你避免创建错误的dinamic查询,我建议你使用mysql_real_escape_string函数,这个函数像撇号一样scapes MySQL的特殊字符。
$pattern = "/\s+- /";
$query = sprintf("SELECT * FROM video_master WHERE column = '%s';", mysql_scape_real_string(preg_replace($pattern,'',$string)));
使用此函数和sprintf,可以降低应用程序中出现错误行为或SQL注入攻击的风险。
我希望这些信息可以帮到你。
祝你好运。