Jump to content

Recommended Posts

i have a query that's not working perfectly.

SELECT *
FROM prod_list
WHERE
access_levels LIKE '%$user_level%' 
AND name LIKE '%$search%'
OR short_desc LIKE '%$search%'
OR description LIKE '%$search%'
AND active = '1'

 

what happens is, if short_desc or description or name match, it returns results reguardless of the access_level or the active

 

I believe it's the use of OR, but i'm not sure how to produce the correct results without using OR.

 

Any ideas would be great.

 

Thanks,

C

 

 

 

Link to comment
https://forums.phpfreaks.com/topic/134258-solved-using-like-or-like/
Share on other sites

AND is multiplication

OR is addition

 

You must use () to get proper order of conditions

 

SELECT *
FROM prod_list
WHERE
access_levels LIKE '%$user_level%'
AND (name LIKE '%$search%'
OR short_desc LIKE '%$search%'
OR description LIKE '%$search%')
AND active = '1'

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.