- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/sql_util.php
- Класс: CSqlUtil
- Вызов: CSqlUtil::GetCount
static function GetCount($tableName, $tableAlias, &$arFields, &$arFilter)
{
$tableName = strval($tableName);
if($tableName === '')
{
return false;
}
global $DB;
$sql = "SELECT COUNT(*) AS QTY FROM {$tableName}";
if(is_array($arFilter) && !empty($arFilter))
{
if(!is_array($arFields))
{
return false;
}
$arJoins = array();
$condition = self::PrepareWhere($arFields, $arFilter, $arJoins);
if($condition !== '')
{
$tableAlias = strval($tableAlias);
if($tableAlias !== '')
{
//ORA-00933 overwise
$sql .= $isOracle ? " {$tableAlias}" : " AS {$tableAlias}";
}
$sql .= " WHERE {$condition}";
}
}
$dbResult = $DB->Query($sql, false, 'File: '.__FILE__.'
Line: '.__LINE__);
$arResult = $dbResult ? $dbResult->Fetch() : null;
return $arResult !== null && isset($arResult['QTY']) ? intval($arResult['QTY']) : 0;
}