我有一个可以在表中进行完整查询的数据库。每个用户都有一个会员身份,尽管并非所有这些身份都是真正的会员身份。在此查询中,我必须获取所有具有真实会员身份的用户。我也有一个过滤器,用于过滤用户的工作分配,例如“公关经理”。首先,我检查是否有任何过滤器:
if($filter != 0)
{
$filter = "Assignment NOT LIKE '$filter'";
}
else
{
$filter = "1";
}
接下来,我搜索所有真实的会员值:
$member_ids = "";
while($get = mysql_fetch_array($query))
{
if($get["IsMember"] == 1)
{
$id = $get["ID"];
if($member_ids == ""){ $member_ids = "'$id'"; } else { $member_ids .= " OR '$id'"; }
}
}
从这两个生成的参数中,我构建了我的 SQL 查询:
$query = mysql_query("SELECT * FROM vilma_contact WHERE Membership LIKE $member_ids AND $filter");
输出如下所示:
SELECT * FROM vilma_contact WHERE Membership LIKE '3' OR '2' AND Assignment NOT LIKE '10'
现在解决问题。它不在 PHP 中运行,但如果我将它复制到 phpmyadmin,它不会显示任何错误并显示正确的行。我从来没有遇到过这样的事情,如果有人可以提供帮助,我将不胜感激。