我从来没有真正听过这个问题的直接答案,我只需要FULLTEXT搜索几个列,其中包含多个单词"Firstname Lastname"
$sql = mysql_query("SELECT * FROM
patient_db
WHERE MATCH ( Name, id_number )
AGAINST ('% $term %' IN BOOLEAN MODE);");
Run Code Online (Sandbox Code Playgroud)
但如果我在这里输入多个单词,则无法运行查询.
Vin*_*982 20
$sql = mysql_query("SELECT * FROM
patient_db WHERE
MATCH ( Name, id_number )
AGAINST ('+first_word +second_word +third_word' IN BOOLEAN MODE);");
Run Code Online (Sandbox Code Playgroud)
如果你想做精确搜索:
$sql = mysql_query("SELECT *
FROM patient_db
WHERE MATCH ( Name, id_number )
AGAINST ('"exact phrase"' IN BOOLEAN MODE);");
Run Code Online (Sandbox Code Playgroud)
SELECT *
FROM patient_db
WHERE MATCH ( Name, id_number )
AGAINST ("Firstname Lastname" IN BOOLEAN MODE);
Run Code Online (Sandbox Code Playgroud)
双引号很重要。这从字面上查找短语“Firstname Lastname”。您不需要百分比符号。
如果您查找“Firstname blahblahblah Lastname blahblah”,则该AGAINST()子句必须如下所示:
AGAINST ('+Firstname +Lastname' IN BOOLEAN MODE);
Run Code Online (Sandbox Code Playgroud)
另一件事:为什么id_number你的比赛中有专栏?
| 归档时间: |
|
| 查看次数: |
19603 次 |
| 最近记录: |