目前我有一个搜寻SEARCH_TERM_EXAMPLES句子/单词查询,它的工作原理几乎如预期,Mysql的搜索一个单词/句子,在年底PHP有额外的characteres
我有一个正则表达式expresion,搜索的名字一张桌子,expample:
function getNames($str){
$stmt = "SELECT * FROM users WHERE name = :name
OR name REGEXP :reg1
OR name REGEXP :reg2
OR name LIKE :lik1";
$query = self::$connection->prepare($stmt);
$query->execute(array(":name"=>$str,
":reg1"=>"^$str" . "[a-zA-Z\s]*$",
":reg2"=>"^[a-zA-Z]*[\s]*[$str][a-zA-Z]"
":lik1"=>"%" . $str . "%"
));
return $query->fetchAll(PDO::FETCH_ASSOC);
}
让我们假设我的表包含下列值
- 鲍勃
- 彼得
- 马克
- 大卫
- 约翰
如果我跑我的Bob
为$name
价值它得到它,但我希望能够找到Bob
当我使用BobsomeLettersExtra
或Bob something
运行查询查询作为$name
值 有没有办法做到这一点使用REGEXP or LIKE
?
这将工作,如果我的数据库表的值是像Bobbb的东西,我会运行一个查询,如:SELECT * FROM users WHERE名称LIKE'%鲍勃%'将返回Bobbb,但我的问题是,表中的值是鲍勃和用户输入是Bobbb,感谢您的尝试 –
@HeribertoJuarez soory我误解了这个问题..检查更新的答案 – pavithra
谢谢你,更新后的答案非常好,谢谢你的时间和精力 –