1.
Надо включать отображение ошибок РНР.
Тогда ПХП тебе бы прямым текстом сказал, что в нет никакой переменной "priceMan". Хотя если смотреть на полный запрос, то скорее отсутствует parpage
2.
Надо использовать для запросов подготовленные выражения
Тогда даже при отсутствии переменной не будет ошибки запроса. Не говоря уже про
взлом сайта
Даже такая параша, как тухлая фасоль, и то умеет в
замещение переменных в запросе
$params = [
'min' => $_GET['priceMin'],
'max' => $_GET['priceMax'],
'cnt' => $cnt,
'start' =>$start,
'perpage' =>$perpage,
]
$idparam = '';
foreach ($ids as $i => $item)
{
$key = ":id$i";
$idparam .= $idstr? "," : "" . $key;
$params[$key] = $item;
}
$filterparam = '';
foreach ($ids as $i => $item)
{
$key = ":f$i";
$filterparam .= $filterparam? "," : "" . $key;
$params[$key] = $item;
}
$sql = "SELECT id, articul, category_id, brand_id, title, alias, content, price, old_price, status, keywords, description, img, hit, novinki
FROM product
WHERE status = '1' AND category_id IN ($idparam)
AND price > :min AND price < :max
AND id IN (SELECT product_id FROM attribute_product WHERE attr_id IN ($filterparam)
GROUP BY product_id
HAVING COUNT(product_id) = :cnt)
LIMIT :start, :perpage"
$rows = \R::getAll($sql, $params);