我试图想出一种方法来形成一个查询,我可以在其中查询我需要的每个参数,并在每个参数的基础上获取结果。我尝试了 AND/OR 的组合,但没有得到预期的结果。
我想做的查询的基础是
select fb_wall, fb_checkin, phone
from member_prefs where
memeberid = 21
OR memeberid = 22
OR memeberid = 23
OR memeberid = 24
问题是,我需要在其中一个成员没有数据时忽略并继续查询(或捕获 id,所以如果找到一个,我可以在事后在另一个查询中添加它的行但仍然保留查询进行)。
现在我的虚拟数据是 4 个成员中的 3 个有数据,如果我在查询中执行 AND,则一个没有,查询停止并且不产生任何结果。好像我做 OR 我似乎只返回其中一组数据。
我想要做的是在查询构建一个数组来传递之后,看起来像
array(
[0] array("memberid"=>21, "fb_wall"=>0, "fb_checkin"=>1, "phone"=>0),
[1] array("memberid"=>22, "fb_wall"=>1, "fb_checkin"=>0, "phone"=>1),
[2] array("memberid"=>24, "fb_wall"=>1, "fb_checkin"=>1, "phone"=>1)
)
只是似乎在形成初始查询时遇到了一点问题,就像我说的那样,如果我可以在这种情况下传递 23 其他地方,那么我可以在该 id 上为同一个表运行一个插入命令,这很棒但不需要这里的一切都需要。