这是相关的代码行:
$woquery = $dbc->prepare("SELECT * FROM workorder WHERE statusID <> 15 OR statusID <> 12 ORDER BY dateIn ASC");
我遇到的问题是,在这段代码中,OR函数看起来像一个AND函数。
如果我将其更改为(例如):
statusID <> 15 OR statusID <> 15
然后它正确地排除了statusID为15的记录,如果我将其设置为12,则相同
如果我只有一个没有OR的WHERE函数,那么它也可以正确过滤。但是,当两者都有时,它既不过滤12,也不过滤15。
最佳答案
在这两个或操作中使用NOT IN
$woquery = $dbc->prepare("SELECT * FROM workorder WHERE statusID NOT IN( 15, 12) ORDER BY dateIn ASC"