0
我試過使用\/b
和[[:<:]]
,不知道爲什麼他們不工作。而%
只有在字符串的最開始纔有效。PHP,如何查找單詞是否在我的字符串中?
在我的欄目表我有這樣的字符串:
Race car driver
Driving Instructor
在搜索框中,如果用戶鍵入'driv'
(不區分大小寫),我想這兩個上面的字符串的出現。
//if a person arrives at this page other than doing a search then go to the main page
if(!isset($_POST['search'])) {
header("Location:mainpage.php");
}
$search_sql="SELECT * FROM category WHERE user_id = '$user_id' AND cat_name LIKE '[[:<:]]".$_POST['search']."%'";
$search_query=mysqli_query($con,$search_sql);
if(mysqli_num_rows($search_query)!=0) {
$search_rs=mysqli_fetch_assoc($search_query);
}
if(mysqli_num_rows($search_query)!=0) {
do { ?>
<p><?php echo $search_rs['cat_name']; ?></p>
etc... etc ...
'LIKE'不識別正則表達式。如果yu想要使用正則表達式,請使用[REGEXP](https://dev.mysql.com/doc/refman/5.7/en/regexp.html#operator_regexp) –
用「%」包裝查詢。我的意思是把「%」放在查詢的開頭和結尾處 –
@AbdullahMallik如果我這樣做,它會識別字符串中的任何單詞或單詞的部分。例如,'riv'會返回'賽車司機'和'駕駛教練'。它應該只是文字的開始。 – CHarris