Приветствую форумчане!
При подключении фильтра на странице каталога, возникает ошибка:
Оригинальный запрос выглядит так:
Используется в функции:
error.log
Где здесь ошибка в синтаксисе?
При подключении фильтра на странице каталога, возникает ошибка:
Скрытый текст |
---|
MySQL Query Error: SEL ECT BE.ID IBLOCK_ELEMENT_ID ,BEP.IBLOCK_PROPERTY_ID ,BEP.VALUE ,BEP.VALUE_NUM FR OM LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID AND BEP.VALUE != '' AND BEP.IBLOCK_PROPERTY_ID IN (345, 380, 381, 384) WHERE 1=1 ORDER BY BEP.IBLOCK_ELEMENT_ID[[1064] 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 'LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID AND BEP' at line 8] MySQL Query Error! |
Оригинальный запрос выглядит так:
Скрытый текст |
---|
$strSql = " SEL ECT BE.ID IBLOCK_ELEMENT_ID ,BEP.IBLOCK_PROPERTY_ID ,BEP.VALUE ,BEP.VALUE_NUM FR OM ".$element->sFrom." LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID AND BEP.VALUE != ''".(!empty($propertyIDs) ? " AND BEP.IBLOCK_PROPERTY_ID IN (".implode(', ', $propertyIDs).")" : "")." WHERE 1=1 ".$element->sWhere." ORDER BY BEP.IBLOCK_ELEMENT_ID "; |
Используется в функции:
Скрытый текст |
---|
public static function GetPropertyValues($IBLOCK_ID, $arElementFilter, $arProperties = array(), $extMode = false) { global $DB; $IBLOCK_ID = intval($IBLOCK_ID); $VERSION = CIBlockElement::GetIBVersion($IBLOCK_ID); $arElementFilter["IBLOCK_ID"] = $IBLOCK_ID; $element = new CIBlockElement; $element->strField = "ID"; $element->GetList(array(), $arElementFilter, false, false, array("ID")); /* $arPropertyIDs = array(); foreach($arProperties as $arProperty) { if(intval($arProperty['PROPERTY_ID'])) $arPropertyIDs[$arProperty['PROPERTY_ID']] = $arProperty['PROPERTY_ID']; } */ $q = 'SEL ECT DISTINCT `PROPERTY_ID` FR OM `b_iblock_section_property` WHERE `SMART_FILTER` = "Y" AND `IBLOCK_ID` = '.$IBLOCK_ID; $db = $DB->Query($q); $propertyIDs = array(); while($propertyID = $db->fetch()){ $propertyIDs[] = $propertyID['PROPERTY_ID']; } if ($VERSION == 2) $strSql = " SEL ECT BEP.* FR OM ".$element->sFrom." INNER JOIN b_iblock_element_prop_s".$IBLOCK_ID." BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID WHERE 1=1 ".$element->sWhere." ORDER BY BEP.IBLOCK_ELEMENT_ID "; else $strSql = " SEL ECT BE.ID IBLOCK_ELEMENT_ID ,BEP.IBLOCK_PROPERTY_ID ,BEP.VALUE ,BEP.VALUE_NUM FR OM ".$element->sFrom." LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID AND BEP.VALUE != ''".(!empty($propertyIDs) ? " AND BEP.IBLOCK_PROPERTY_ID IN (".implode(', ', $propertyIDs).")" : "")." WHERE 1=1 ".$element->sWhere." ORDER BY BEP.IBLOCK_ELEMENT_ID "; $rs = new CIBlockPropertyResult($DB->Query($strSql)); $rs->setIBlock($IBLOCK_ID); $rs->setMode($extMode); return $rs; } |
error.log
Скрытый текст |
---|
2022-05-14 17:28:46 - Host: site.ru - LOW_PRIORITY_ERROR - [ErrorException] E_USER_WARNING Module 'acrit.cleanmaster' is in loading progress (0) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:96 #0: trigger_error(string, integer) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:96 #1: Bitrix\Main\Loader::includeModule(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:205 #2: Bitrix\Main\Loader::includeSharewareModule(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/module.php:256 #3: CModule::IncludeModuleEx(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/acrit.cleanmaster/include.php:296 #4: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:184 #5: Bitrix\Main\Loader::includeModuleInternal(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:140 #6: Bitrix\Main\Loader::includeModule(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/acrit.cleanmaster/admin/menu.php:19 #7: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/interface/admin_lib.php:947 #8: CAdminMenu->_IncludeMenu(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/interface/admin_lib.php:717 #9: CAdminMenu->Init(array) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/interface/prolog_main_admin.php:32 #10: require_once(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/include/prolog_admin_after.php:15 #11: require(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/fileman/admin/fileman_admin.php:1238 #12: require(string) /var/www/u0497226/data/www/site.ru/bitrix/admin/fileman_admin.php:3 ---------- 2022-05-14 17:28:51 - Host: site.ru - LOW_PRIORITY_ERROR - [ErrorException] E_WARNING count(): Parameter must be an array or an object that implements Countable (0) /var/www/u0497226/data/www/site.ru/local/templates/usr24/components/kit/filter/.default/template.php:10 #0: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:790 #1: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:885 #2: CBitrixComponentTemplate->IncludeTemplate(array) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:775 #3: CBitrixComponent->showComponentTemplate() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:716 #4: CBitrixComponent->includeComponentTemplate() /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/component.php:651 #5: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:607 #6: CBitrixComponent->__includeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:105 #7: CBitrixComponent->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/class.php:164 #8: CKitCatalogFilter->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:660 #9: CBitrixComponent->includeComponent(string, array, boolean, boolean) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/main.php:1072 #10: CAllMain->IncludeComponent(string, string, array, boolean) /var/www/u0497226/data/www/site.ru/i/i.php:38 #11: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/include/urlrewrite.php:160 #12: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/urlrewrite.php:2 ---------- 2022-05-14 17:28:56 - Host: site.ru - UNKNOWN - [Bitrix\Main\DB\SqlQueryException] Mysql query error: [1064] 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 'LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID ' at line 9 (400) SEL ECT BE.ID IBLOCK_ELEMENT_ID ,BEP.IBLOCK_PROPERTY_ID ,BEP.VALUE ,BEP.VALUE_NUM FR OM LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID WHERE 1=1 ORDER BY BEP.IBLOCK_ELEMENT_ID /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/mysql/database.php:190 #0: CDatabaseMysql->Query(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/kit.filter/include.php:600 #1: CKitFilterIBlock::GetPropertyValues(integer, array, array) /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/component.php:87 #2: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:607 #3: CBitrixComponent->__includeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:105 #4: CBitrixComponent->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/class.php:164 #5: CKitCatalogFilter->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:660 #6: CBitrixComponent->includeComponent(string, array, boolean, boolean) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/main.php:1072 #7: CAllMain->IncludeComponent(string, string, array, boolean) /var/www/u0497226/data/www/site.ru/local/templates/usr24/components/bitrix/catalog/main_new/ #8: include_once(string) /var/www/u0497226/data/www/site.ru/local/templates/usr24/components/bitrix/catalog/main_new/ #9: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:790 #10: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:885 #11: CBitrixComponentTemplate->IncludeTemplate(array) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:775 #12: CBitrixComponent->showComponentTemplate() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:716 #13: CBitrixComponent->includeComponentTemplate(string) /var/www/u0497226/data/www/site.ru/bitrix/components/bitrix/catalog/component.php:171 #14: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:607 #15: CBitrixComponent->__includeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:684 #16: CBitrixComponent->includeComponent(string, array, boolean, boolean) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/main.php:1072 #17: CAllMain->IncludeComponent(string, string, array, boolean) /var/www/u0497226/data/www/site.ru/catalog/index.php:452 ---------- 2022-05-14 17:28:57 - Host: site.ru - UNKNOWN - [Bitrix\Main\DB\SqlQueryException] Mysql query error: [1064] 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 'LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID ' at line 9 (400) SEL ECT BE.ID IBLOCK_ELEMENT_ID ,BEP.IBLOCK_PROPERTY_ID ,BEP.VALUE ,BEP.VALUE_NUM FR OM LEFT JOIN b_iblock_element_property BEP ON BEP.IBLOCK_ELEMENT_ID = BE.ID WHERE 1=1 ORDER BY BEP.IBLOCK_ELEMENT_ID /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/mysql/database.php:190 #0: CDatabaseMysql->Query(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/kit.filter/include.php:600 #1: CKitFilterIBlock::GetPropertyValues(integer, array, array) /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/component.php:87 #2: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:607 #3: CBitrixComponent->__includeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:105 #4: CBitrixComponent->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/class.php:164 #5: CKitCatalogFilter->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:660 #6: CBitrixComponent->includeComponent(string, array, boolean, boolean) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/main.php:1072 #7: CAllMain->IncludeComponent(string, string, array, boolean) /var/www/u0497226/data/www/site.ru/local/templates/usr24/components/bitrix/catalog/main_new/ #8: include_once(string) /var/www/u0497226/data/www/site.ru/local/templates/usr24/components/bitrix/catalog/main_new/ #9: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:790 #10: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:885 #11: CBitrixComponentTemplate->IncludeTemplate(array) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:775 #12: CBitrixComponent->showComponentTemplate() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:716 #13: CBitrixComponent->includeComponentTemplate(string) /var/www/u0497226/data/www/site.ru/bitrix/components/bitrix/catalog/component.php:171 #14: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:607 #15: CBitrixComponent->__includeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:684 #16: CBitrixComponent->includeComponent(string, array, boolean, boolean) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/main.php:1072 #17: CAllMain->IncludeComponent(string, string, array, boolean) /var/www/u0497226/data/www/site.ru/catalog/index.php:452 #18: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/include/urlrewrite.php:160 #19: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/urlrewrite.php:2 ---------- 2022-05-14 17:29:08 - Host: site.ru - LOW_PRIORITY_ERROR - [ErrorException] E_USER_WARNING Module 'acrit.cleanmaster' is in loading progress (0) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:96 #0: trigger_error(string, integer) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:96 #1: Bitrix\Main\Loader::includeModule(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:205 #2: Bitrix\Main\Loader::includeSharewareModule(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/module.php:256 #3: CModule::IncludeModuleEx(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/acrit.cleanmaster/include.php:296 #4: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:184 #5: Bitrix\Main\Loader::includeModuleInternal(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/lib/loader.php:140 #6: Bitrix\Main\Loader::includeModule(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/acrit.cleanmaster/admin/menu.php:19 #7: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/interface/admin_lib.php:947 #8: CAdminMenu->_IncludeMenu(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/interface/admin_lib.php:717 #9: CAdminMenu->Init(array) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/interface/prolog_main_admin.php:32 #10: require_once(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/include/prolog_admin_after.php:15 #11: require(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/fileman/admin/fileman_admin.php:1238 #12: require(string) /var/www/u0497226/data/www/site.ru/bitrix/admin/fileman_admin.php:3 ---------- 2022-05-14 17:29:12 - Host: site.ru - LOW_PRIORITY_ERROR - [ErrorException] E_WARNING count(): Parameter must be an array or an object that implements Countable (0) /var/www/u0497226/data/www/site.ru/local/templates/usr24/components/kit/filter/.default/template.php:10 #0: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:790 #1: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component_template.php:885 #2: CBitrixComponentTemplate->IncludeTemplate(array) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:775 #3: CBitrixComponent->showComponentTemplate() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:716 #4: CBitrixComponent->includeComponentTemplate() /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/component.php:651 #5: include(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:607 #6: CBitrixComponent->__includeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:105 #7: CBitrixComponent->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/components/kit/filter/class.php:164 #8: CKitCatalogFilter->executeComponent() /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/component.php:660 #9: CBitrixComponent->includeComponent(string, array, boolean, boolean) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/classes/general/main.php:1072 #10: CAllMain->IncludeComponent(string, string, array, boolean) /var/www/u0497226/data/www/site.ru/i/i.php:38 #11: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/modules/main/include/urlrewrite.php:160 #12: include_once(string) /var/www/u0497226/data/www/site.ru/bitrix/urlrewrite.php:2 ---------- |
Где здесь ошибка в синтаксисе?