嘿,有一个小问题,我不太了解MYSQL全文搜索.我有这个:
$data = mysql_query("SELECT * FROM posts WHERE MATCH (article) AGAINST ('news')");
while($result = mysql_fetch_array( $data ))
{
echo $result['title'];
echo "<br><br> ";
echo $result['article'];
echo "<br><br>";
}
$anymatches=mysql_num_rows($data);
if ($anymatches == 0)
{
echo "Sorry, but we can not find an entry to match your query<br><br>";
}
echo "<b>Searched For:</b> " .$search_term;
Run Code Online (Sandbox Code Playgroud)
这很好用.它从数据库中提取标题和文章,并回显出数据库中每个项目的所有信息.只从'文章'columnthough中提取信息.....(如果"新闻"只在标题中,它将不会显示在结果中.)反之亦然.如果我查询MATCH(标题),它只会在标题中找到具有给定搜索词的帖子,而不是文章
但是,当我改变MATCH条款时:MATCH(标题,文章),我得到零结果.基本上,我只在一个专栏中遇到了MATCH.
这是posts表的表格模式:(这是来自导出)
CREATE TA BLE帖子(
idint(55)unsigned NOT NULL auto_increment,
titlevarchar(255)collate latin1_german2_ci default NULL,
articletext collate latin1_german2_ci,
post_typevarchar(255)collate latin1_german2_ci default NULL,
daytext collate latin1_german2_ci,
uservarchar(55)collate latin1_german2_ci default NULL,
monthtext collate latin1_german2_ci,
yearint(4)默认为NULL,
member_idint(55)默认为NULL,
publishedtinyint(1)NOT NULL默认为'0',
drafttinyint(1)默认为'0',
slugvarchar(255)collate latin1_german2_ci默认为NULL,
event_monthvarchar(255)自动分页latin1_german2_ci默认为NULL,
event_day1int(2)默认为NULL,
event_day2int(2)默认为NULL,
PRIMARY KEY(id),
FULLTEXT KEY title(title),
FULLTEXT KEY article(article)
)ENGINE = MyISAM;
任何人都知道为什么它不喜欢第二列看?
| 归档时间: |
|
| 查看次数: |
704 次 |
| 最近记录: |