2016-06-29 26 views
1

這是代碼的相關行:SQL或功能如AND

$woquery = $dbc->prepare("SELECT * FROM workorder WHERE statusID <> 15 OR statusID <> 12 ORDER BY dateIn ASC"); 

我遇到的問題是,這種代碼時,OR功能似乎是工作像一個與功能。

如果我將其更改爲(例如):

statusID <> 15 OR statusID <> 15 

然後正確地排除了與15記錄statusID,相同的,如果我將它設置爲12

如果我只是一個單一的WHERE功能沒有或,然後它也正確過濾。然而,當我兼得,它過濾既不12或15

+0

你的條件是沒有意義的,它永遠是'真',想象所有不是貓或不是狗的動物... – jeroen

+1

@ jeroen啊,是的,我現在明白了。 Brainfart我猜。 – SGR

回答

3

使用NOT IN那兩個或操作

$woquery = $dbc->prepare("SELECT * FROM workorder WHERE statusID NOT IN(15, 12) ORDER BY dateIn ASC" 
+0

請檢查它應該工作 –

+0

是的,現在工作很好,非常感謝您的幫助。將盡快接受。 – SGR