Reputation: 351
I have this search query and I would like to filter results based on "folder_restriction" but seem AND clause not filter results. Where do I do wrong?
SELECT *
FROM mod_images
LEFT JOIN mod_folders
ON folder_id = image_folder_id
LEFT JOIN mod_cats
ON cat_id = folder_cat_id
WHERE ((`folder_number` LIKE '%".$search."%') OR ('%".$search."%')) OR
((`titule` LIKE '%".$search."%') OR ('%".$search."%')) OR
((`description` LIKE '%".$search."%') OR ('%".$search."%')) OR
AND `folder_restriction` = '0'
LIMIT 2000
Upvotes: 1
Views: 57
Reputation: 7123
SELECT *
FROM mod_images
LEFT JOIN mod_folders
ON folder_id = image_folder_id
LEFT JOIN mod_cats
ON cat_id = folder_cat_id
WHERE (((`folder_number` LIKE '%".$search."%') OR ('%".$search."%')) OR
((`titule` LIKE '%".$search."%') OR ('%".$search."%')) OR
((`description` LIKE '%".$search."%') OR ('%".$search."%')))
AND `folder_restriction` = '0'
LIMIT 2000
Upvotes: 0
Reputation: 172448
Try this:-
SELECT * FROM mod_images
LEFT JOIN mod_folders ON folder_id = image_folder_id
LEFT JOIN mod_cats ON cat_id = folder_cat_id
WHERE
((`folder_number` LIKE '%".$search."%') OR
(`titule` LIKE '%".$search."%') OR
(`description` LIKE '%".$search."%' ))
AND `folder_restriction` = '0'
LIMIT 2000
or try to remove the OR
at the last:-
SELECT *
FROM mod_images
LEFT JOIN mod_folders
ON folder_id = image_folder_id
LEFT JOIN mod_cats
ON cat_id = folder_cat_id
WHERE (((`folder_number` LIKE '%".$search."%') OR ('%".$search."%')) OR
((`titule` LIKE '%".$search."%') OR ('%".$search."%')) OR
((`description` LIKE '%".$search."%') OR ('%".$search."%')))
AND `folder_restriction` = '0'
LIMIT 2000
Upvotes: 1