Поиск по базе по нескольким критериям

155
07 августа 2018, 14:40

Нужно сформировать sql запрос. Условия такие: сортировка по категории и по цвету, но т.к обе эти категории сохранены в базе функцией serialize нужно дописывать в запрос like никак не могу понять как сделать сразу 2 like в одном запросе

public static function getPickingProduct($category, $color) {
        $db = Db::getConnection();
        $sql = "SELECT id, name, price, id_shop, sale, name_img FROM product WHERE category LIKE :txt AND colors LIKE :colors AND path <> 'not-show'";
        $sth = $db->prepare($sql);
        $sth->execute( [':txt' => "%{$category}%", ':colors' => "{$color}"] );
        return $result = $sth->fetchAll(PDO::FETCH_ASSOC);
    }
Answer 1

Ошибка была в том что я не поставил %% в биндинг
Было так: $sth->execute( [':txt' => "%{$category}%", ':colors' => "{$color}"] );
А надо было так: $sth->execute( [':txt' => "%{$category}%", ':colors' => "%{$color}%"] );

READ ALSO
Изменение тегов вывода меню в WordPress

Изменение тегов вывода меню в WordPress

Делаю на сайте вывод меню через wp_nav_menuСайт на WordPress

156
Триггер на комментарии в facebook api

Триггер на комментарии в facebook api

Как можно отследить новые комментарии в facebook? Те

169
Как обновить блок?

Как обновить блок?

Допустим есть файл (user_panel)В случае если есть кука, подгружает панель, но если нет

149