这是相关的代码行:

$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"

10-06 15:35