1

我有这个搜索查询,我想根据“folder_restriction”过滤结果,但似乎 AND 子句不过滤结果。我哪里做错了?

    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
4

2 回答 2

1

尝试这个:-

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最后删除:-

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
于 2013-09-02T16:14:08.840 回答
0
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
于 2013-09-02T16:22:33.837 回答