2011-02-12 53 views
1

我试图在标题本身中准确地解释我的问题。我可以在mysql查询自己中围绕查询中的匹配词吗? MySQL查询是:如何在全文搜索中自动大胆地匹配单词

选择ID,名字,姓氏,addcomments WHERE MATCH(名字,姓氏,addcomments) AGAINST( '一些示例文本' 带查询扩展)

从MySQL的结果应该是这样的:

id | FirstName  | LastName    | addcomments 

1 |<b>some</b> name | lastname <b>text</b> | comments have <b>some sample text</b> inside 

任何帮助深表感谢

+0

这通常是你会做的编程语言/应用水平来代替。它有*是否在mySQL里面? – 2011-02-12 13:42:35

+0

plz note stackoverflow已嚼掉标签我已放置在帖子中。请相应阅读。 – hiprakhar 2011-02-12 13:42:36

回答

1

感谢kris的回复。我同意MySQL将返回任何应用程序可以使用的通用结果。但是我可以写一个mysql函数来获得相同的效果吗?

另外,我试着写为PHP函数,但它不工作:

$searchitems=explode(" ", $trimmed); 
$totalSearchItems = count($searchitems); 

while ($row= mysql_fetch_array($result)) 
{ 
     for($i=0;$i<$totalSearchItems;$i++) 
     { 
      str_replace($searchitems[$i], '<b>'.$searchitems[$i].'</b>', $row); 
     } 
     //Display $row 
} 
3

这是一个非问题,例如MySQL不格式的结果的话,那传递一个数据集的应用程序。那么应用程序就可以根据这些数据来做它想要的。

如果您在PHP的时候,你可以使用str_replace的结果与关键词

还有这里的安全问题的一个大胆的版本替换关键字 - 如果您的数据库返回的HTML,你将有用编码输出内容。这意味着如果有人设法向您的数据库注入恶意记录,您的站点可能会服务于XSS攻击或其他恶意代码

1

您可能会发现,根据显示输出的位置,这可能会有混合结果。例如,正确地转义文本,使其在命令行上显示为粗体或黑色,与在html或rtf或pdf等格式中以粗体显示的方式不同。

如果您解决了所用的任何问题显示输出结果,你会得到更可预测和更可靠的结果。

相关问题