2013-01-04 47 views
0

這是一個更新字段,我正在檢查以確保數字AND關鍵字 - >或存在的活動名稱以防止重複。MySQL - This AND this OR

此查詢不作爲預期:

$STH = $DBH->prepare(" 
    SELECT * 
    FROM campaigns 
    WHERE number = :number AND keyword = :keyword 
    OR name LIKE :name" 
); 

我想它來檢查(數量=號碼及關鍵字=關鍵字)OR(名稱=名稱) - 作爲兩個不同的語句不相關的海誓山盟。即使我將它們包括在括號中,我仍然得不到正確的結果。

任何幫助?

+3

你可以給數據的一個例子數據庫,預期的結果和實際結果? – nico

回答

4

LIKE也需要有%,如果是不應該它的工作就像=操作

SELECT * FROM campaigns WHERE (number = :number AND keyword = :keyword) OR name LIKE %:name%" 
1

嘗試這樣

 $STH = $DBH->prepare("SELECT * 
        FROM campaigns 
        WHERE (number = :number AND keyword = :keyword) 
        OR name LIKE :name" 
        ); 
相關問題