Reputation: 1567
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.
Upvotes: 0
Views: 12000
Reputation: 1296
SELECT *
FROM `".DBN."`.`events`
WHERE `event_artist1` = '".$currentArtist."'
OR `event_artist2` = '".$currentArtist."'
OR `event_artist3` = '".$currentArtist."'
";
Hope this helps.
Upvotes: 0
Reputation: 33935
SELECT *
FROM events e
WHERE '$currentArtist' IN (e.event_artist1,e.event_artist2,e.event_artist3);
Upvotes: 9
Reputation: 13728
try
SELECT * FROM `".DBN."`.`events` WHERE
`event_artist1`= '".$currentArtist."' OR `event_artist2`= '".$currentArtist."' OR `event_artist3` = '".$currentArtist."'";
Upvotes: 0