php mysql搜索数据与连接表的部分匹配

时间:2015-03-24 03:31:04

标签: php mysql sql database sql-like

我正在尝试在mysql中搜索数据。到目前为止使用LIKE允许我搜索组名,如果我知道我正在寻找的确切名称。 我需要能够使用组名的一部分进行搜索,并让它显示其中包含一些搜索字符串的所有行。下面是我到目前为止的代码。

$group = $_GET['query_term'];



if (!$link = mysql_connect('', '', '')) {

    exit;
}

if (!mysql_select_db('dbname', $link)) {

    exit;
}

$sql = "SELECT os_groups_groups.*, useraccounts.* FROM os_groups_groups JOIN useraccounts WHERE os_groups_groups.FounderID = useraccounts.PrincipalID And os_groups_groups.Name LIKE '".$group."'";

1 个答案:

答案 0 :(得分:1)

将您的$sql更改为:

$sql = "SELECT os_groups_groups.*, useraccounts.* FROM os_groups_groups JOIN useraccounts WHERE os_groups_groups.FounderID = useraccounts.PrincipalID And os_groups_groups.Name LIKE '%".$group."%'";

使用LIKE,您可以在模式中使用以下两个通配符:

  • %匹配任意数量的字符,即使是零字符
  • _只匹配一个字符

您可以在以下网址阅读有关通配符的更多信息:

  

http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like