簡體   English   中英

具有多個“ OR”語句的MySQL查詢

[英]MySQL query with multiple 'OR' statements

我有一個查詢,我已經在SQL之外直接在SQL上進行了測試,但仍然遇到相同的問題

想法是通過使用GET方法發送$ event_artist ,該值與顯示信息的event_artist列中的值匹配。

SELECT 
            *
        FROM
            `".DBN."`.`events`
        WHERE
            `event_artist1` OR `event_artist2` OR `event_artist3` = '".$currentArtist."'

    ";

我的問題是,它完全忽略了查詢的WHERE部分。 它僅返回完整的表結果,而不返回與$currentArtist匹配的結果。

我已經測試了$currentArtist ,它工作正常。 我不知道如何使完整的聲明生效。

我嘗試將OR語句放在方括號中,如下所示:

(`event_artist1` OR `event_artist2`...) = '".$currentArtist."'

僅當$currentArtist等於“ 1”(存儲藝術家信息的藝術家表中的第一個人)時,才返回結果。

任何幫助將不勝感激。

SELECT *
  FROM events e
 WHERE '$currentArtist' IN (e.event_artist1,e.event_artist2,e.event_artist3);

嘗試

SELECT * FROM `".DBN."`.`events` WHERE
            `event_artist1`= '".$currentArtist."' OR `event_artist2`= '".$currentArtist."' OR `event_artist3` = '".$currentArtist."'";
SELECT *
FROM `".DBN."`.`events`
WHERE `event_artist1` = '".$currentArtist."' 
OR `event_artist2` = '".$currentArtist."' 
OR `event_artist3` = '".$currentArtist."'
";

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM