Php 获取查询列所在的行>;tableColumns以及queryColumns=tableColumns

Php 获取查询列所在的行>;tableColumns以及queryColumns=tableColumns,php,mysql,Php,Mysql,对不起,我想不出更好的标题了 通常我们有一个表,我们有一个查询,我们需要其中包含的行 query=table但是如果query>table 这里有一个例子,假设我们有一个网站,它将想要一些服务的人与公司联系起来,我们有4个服务a、b、c、d, 所以用户会选择他想要的服务,然后我们将它们存储在数据库中 wanted : +-----------+----------+---------+------+-------- | user_id | a | b | c

对不起,我想不出更好的标题了

通常我们有一个
,我们有一个
查询
,我们需要其中包含的行

query=table
但是如果
query>table

这里有一个例子,假设我们有一个网站,它将想要一些服务的人与公司联系起来,我们有4个服务
a、b、c、d,

所以用户会选择他想要的服务,然后我们将它们存储在数据库中

wanted :
+-----------+----------+---------+------+-------- 
| user_id   | a        | b       | c    | d     |
+-----------+----------+---------+------+--------
|  23       | 1        |   0     | 1    | 0     |
+-----------+----------+---------+---------------

for example this guy wants a,c 
现在,一家公司来到我们的网站,说我们提供
a,c

所以我质疑

 $query = "select user_id from wanted where a=1 && c =1 ";
我得到了用户21,我会把他们连接起来

但是如果该公司提供的服务
a、b、c

 $query = "select user_id from wanted where a=1 && b =1 && c=1 ";
它不会返回USER21,但它应该。。。。它们并非完美匹配,但用户21所需的服务由本公司负责

我知道我应该以另一种方式与第一商店公司联系,让用户搜索他们,我不会有这个问题,但这就是这个网站的工作方式

那么我有什么选择呢?有什么办法吗

请注意我不能使用
或|
因为公司应该满足客户的所有需求 因此,如果我有一个用户
x
,它想要
a,b,c
,并与
a,b,d
询问

select * from wanted where a = 1 || b = 1 || d = 1 

将返回用户
x
,这是错误的,因为公司没有覆盖所需的服务
c
我将使用或获取至少在一个服务中的所有用户:

$query = "select user_id from wanted where a = 1 OR b = 1 OR c = 1 ";

几乎看起来修复起来太简单了,但是用AND代替AND怎么样


$query=“从a=1或b=1或c=1的位置选择用户_id”

在您的senario中,您可以使用或而不是等等

where a=1 || b =1 || c=1 ";
这将返回任何想要产品a、b或c位的客户,而不一定是所有客户

就我个人而言,我会改变数据库的结构,所以我有一个products表和一个customers表,然后两个表之间有一个1对多的连接。这将允许您进行如下查询:

where product.product_id IN (1,2,3);