Здравствуйте, возникает ошибка при запросе к БД, а именно при задании сортировки. Unknown column 'add_date' in 'order clause' Странно, что ошибка выходит, учитывая то, что данное поле в таблице БД существует, да и сортировка по другим полям тоже проходит нормально. С чем это может быть связано? Заранее всем спасибо за помощь.
Код (Text): -- Table structure for table `goods` CREATE TABLE IF NOT EXISTS `goods` ( `goods_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `keywords` varchar(255) NOT NULL, `description` varchar(255) NOT NULL, `img` varchar(255) NOT NULL DEFAULT 'no_image.jpg', `goods_brandid` tinyint(3) unsigned NOT NULL, `anons` text NOT NULL, `content` text NOT NULL, `visible` enum('0','1') NOT NULL DEFAULT '1', `hits` enum('0','1') NOT NULL DEFAULT '0', `new` enum('0','1') NOT NULL DEFAULT '0', `sale` enum('0','1') NOT NULL DEFAULT '0', `price` float NOT NULL DEFAULT '0', `add_date` date NOT NULL, `img_slide` varchar(255) NOT NULL, PRIMARY KEY (`goods_id`), FULLTEXT KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=36 ; Запрос грубо вырежу из кода, думаю должно быть понятно: Код (Text): $query = "(SELECT `goods_id`, `name`, `img`, `anons`, `hits`, `new`, `sale`, `price` FROM `goods` WHERE `goods_brandid` = '$category' AND `visible` = '1') UNION (SELECT `goods_id`, `name`, `img`, `anons`, `hits`, `new`, `sale`, `price` FROM `goods` WHERE `goods_brandid` IN ( SELECT `brand_id` FROM `brands` WHERE `parent_id` = $category ) AND `visible` = '1')"; $query .= " ORDER BY `$order`"; if($up) $query .= " DESC"; $query .= " LIMIT ".limit($page, display_num()); Добавлено спустя 12 минут 11 секунд: Спасибо, нашёл причину ошибки. Вся загвоздка в операторе ORDER BY - сортирует полученные результаты по выбранному полю (т.е. сортирует данные по полученному из БД полю). В моём случае add_date в выборке не участвует, в данной ситуации приемлем оператор GROUP BY.