php mysql 在联接表上搜索部分匹配的数据
php mysql search data with partial match on joined tables
我正在尝试搜索 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."'";
将您的 $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
我正在尝试搜索 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."'";
将您的 $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