Можно поставить OR между всеми атрибутами, затем результат сгруппировать по art, и в конечном итоге отображать только те товары, размер группы которых равен количеству атрибутов в поиске.
Может быть есть и какое-то более красивое решение
Ещё можно переделать базу. На каждый атрибут сделать свой столбец, при этом с ними всё ещё можно работать как с динамическими в том плане, что сделать достаточно большое количество столбцов с именами attr1, attr2, attr3 ... attr64 и в отдельной таблице хранить маппинг столбцов и атрибутов. Если для товара столбец NULL - не отображать его.
Кстати attribute пишется с двумя t.