Привет, ребята. Полдня копаюсь, не могу понять где ошибка. Походу ошибка в синтаксисе но я уже массу варианто перепробовал и не получается, глянь запрос в базу плиз. Код (Text): MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => SELECT g.goods_id, g.goods_name, g.cat_id, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, IFNULL(mp.user_price, g.shop_price * '1') AS shop_price, g.promote_price, g.goods_type, g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img, cat.start_time, cat.end_time, cat.user_rank, cat.access_for_all FROM `komp03_free8`.`ecs_goods` AS g LEFT JOIN `komp03_free8`.`ecs_member_price` AS mp ON mp.goods_id = g.goods_id AND mp.user_rank = '0' LEFT JOIN`komp03_free8`.`ecs_category` as cat on g.cat_id=cat.cat_id WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 AND (g.cat_id IN ('1','2','3','4','6','26','62','5','7','10','27','9','8','19','49','32','31','48','30','47','28','20','24','22','21','23','11','15','16','17','18','34','35','60','36','33','37','50','51','52','53','64','55','56','58','57') OR g.goods_id IN ('') ) IF cat.start_time > cat.end_time then and cat.start_time >= "17" end if ORDER BY shop_price DESC LIMIT 352, 16 ) [2] => Array ( [error] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF cat.start_time > cat.end_time then and cat.start_time >= "17" end if OR' at line 1 ) [3] => Array ( [errno] => 1064 ) ) ошибка заключается именно в строчке Код (Text): IF cat.start_time > cat.end_time then and cat.start_time >= "17" end if мне нужно сделать разные условия where, если start_time больше end_time и если start_time меньше end time
шутите что ли? какая разница между end и end? Добавлено спустя 7 минут 20 секунд: мда... вы программисты или петросяны, что за каламбур вы тут устроили?
я честно говоря этот иф не очень понимаю. есть два условия и ничего за ними не следует. это ок? задумка какая?
then ??? Добавлено спустя 21 секунду: срань господня Добавлено спустя 1 минуту 1 секунду: а, это mysql… всё равно что-то не так, я вам говорю ))))
Кстати да, then оттуда вообще убрать надо )) IF cat.start_time > cat.end_time then and cat.start_time >= "17" end if ЕСЛИ cat.start_time > cat.end_time ТОГДА И cat.start_time >= "17" ЗАКОНЧИТЬ ЕСЛИ