[英]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.