天天看點

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

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

I have a query, that I have tested outside of PHP directly on SQL and still getting the same problem

The idea being that $currentArtist is sent through using the GET method, where this value matches the value in the event_artist columns the information is displayed.

SELECT

*

FROM

`".DBN."`.`events`

WHERE

`event_artist1` OR `event_artist2` OR `event_artist3` = '".$currentArtist."'

";

The problem I have is that it is completely ignoring the WHERE part of the query. It just returns the complete table results and not the results that match $currentArtist.

I have tested $currentArtist and it works fine. I'm at a loss as to how to get the complete statement to work.

I've tried surrounding the OR statements in brackets as in:

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

This only returns a result if the $currentArtist is equal to "1" being the first person in the Artists table where their information is stored.

Any help would be greatly appreciated.

解決方案SELECT *

FROM events e

WHERE '$currentArtist' IN (e.event_artist1,e.event_artist2,e.event_artist3);