我正在尝试在我的网站上建立一个搜索功能。搜索是网站的主要目的,我对MySQL搜索功能有一些问题。
我希望能够在多个文本字段中使用单个搜索字符串进行搜索。
我正在使用MySQL的match...against语句执行全文搜索。我在布尔模式下运行它。
我的SQL看起来像这样:
SELECT * FROM ...
WHERE MATCH(table.field1, table.field2, table.field3)
AGAINST ('laptop' IN BOOLEAN MODE)
目前,这将返回包含单词laptop的结
我目前正在尝试使用PHP对我的MySQL表(文本类型)中的2个字段执行搜索。
SELECT * FROM content_items WHERE MATCH (content,name) AGAINST ('".urldecode($_REQUEST['term'])."' IN BOOLEAN MODE)
我总是得到零结果,无论我搜索什么(甚至试图使查询成为静态的,但它仍然不起作用)。我在两个字段上都有全文索引。
是什么导致了这种情况?
谢谢,
罗伊
p.s
搜索应该适合任何长度的刺(即使是短的)
我在mysql中遇到了根据字段对结果进行排序的困难。例如,我正在搜索单词"Terms“,然后我应该会得到以”Terms“开头的结果,然后是”Terms and“,作为下一步,然后是”Terms and conditions“,依此类推。
任何人,请帮助谁来获取基于我的需求的搜索结果在有效的方式使用mysql查询。
我需要通过mysql查询来搜索一些信息,所以我可以写and或一起吗?如果不能,那么过程是什么?在我的查询中,它将显示任何一个字段或多个字段,那么我该如何编写查询?rit现在我这样写:-
$query="select * from fsb_profile
where profile_name = '".$_REQUEST['name']."' or
profile_member= '".$_REQUEST['type']."' or
我有这样的代码:
<?php
// Make a MySQL Connection
$dbhost = 'xxx';
$dbuser = 'xxx';
$dbpass = 'xxx';
$dbname = 'xxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
// Retrieve all the data
在我的代码中,我想通过名字、姓氏和电子邮件字段来搜索好友。现在,我想要匹配数据库表字段中的确切字符串,我想要显示该fields.also,我想要获得搜索数据的id,那么在我显示关于该person.how的完整描述之后,我就可以这样做了。谢谢你对我的帮助。我试过了。
$term=$_POST['find'];
$searchquery=mysql_query("select firstname,lastname,email from account where output LIKE %$term%");