mysql
  • database
  • computer-science
  • 2012-06-16 57 views 4 likes 
    4

    我在週一爲Comp Science項目工作,我遇到了一個有關查詢的MySQL問題。MySQL查詢AND OR運算符邏輯

    我想通過文字實現的是這個。

    如果列爲=傑克和列從=康納 OR 列=康納和列從傑克=從特定表得到CID。

    我有什麼到目前爲止,這是

    $query="SELECT cID FROM conversation WHERE to='$to' AND to='$from' OR to='$from' AND  from='$to'"; 
    

    有什麼我可以做的就是此查詢工作? 在此先感謝!

    回答

    11

    你只需要的()一對夫婦對來組這兩個條件對,由邏輯OR

    $query=" 
        SELECT cID 
        FROM conversation 
        WHERE 
         /* to Jake, from Connor */ 
        (`to`='$to' AND `from`='$from') 
         /* OR to connor, from jake */ 
        OR (`to`='$from' AND `from`='$to')"; 
    

    注分開:FROMTO都是MySQL reserved keyword,因此需要用反引號引用。

    +0

    @MarkByers是的,報價,謝謝。 「TO」也被保留。 –

    +0

    The Op也應該逃避$ to和$ from變量 –

    +0

    @JeromeWAGNER你不知道他沒有。 –

    1

    這是未經測試的,但我認爲你需要把to ='$ to'和to ='$ from'(這應該是從不是我想的??)到括號內?

    剛剛意識到別人把這個作爲我打字它

    +0

    這可能是真的,因爲它取決於初始值放在數據庫的哪一側,它不是e ffieicne,但這是我目前所瞭解的。 – ronnockoch

    +0

    哦,別介意,我明白你的意思LAdaRaider – ronnockoch

    +0

    我在評論中說過,我認爲它應該是從而不是! – Stefan

    0
    $query="SELECT cID FROM conversation WHERE 
    (to='$to' OR to='$from' OR to='$from') AND from='$to'"; 
    
    +0

    我再次得到這個查詢的MySQL錯誤 你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'to ='5'或'to'='1'或to ='1'附近使用正確的語法)AND from ='5'at line 2 – ronnockoch

    +0

    我建議你與上面的答案一起去,更好,並遵循這些評論。 – Tschallacka

    +0

    -1使用保留字 – Steve

    相關問題