目前我有一個搜尋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
謝謝你,更新後的答案非常好,謝謝你的時間和精力 –