• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/db/dbconnection.php
  • Класс: BitrixMainDBDbConnection
  • Вызов: DbConnection::queryInternal
protected function queryInternal($sql, array $arBinds = null, $offset = 0, $limit = 0, BitrixMainDiagSqlTrackerQuery $trackerQuery = null);

/**
 * @param $result
 * @param BitrixMainDiagSqlTrackerQuery $trackerQuery
 * @return DbResult
 */
abstract protected function createDbResult($result, BitrixMainDiagSqlTrackerQuery $trackerQuery = null);

/**
 * Executes a query to database
 * query($sql)
 * query($sql, $limit)
 * query($sql, $offset, $limit)
 * query($sql, $arBinds)
 * query($sql, $arBinds, $limit)
 * query($sql, $arBinds, $offset, $limit)
 *
 * @param string $sql Sql query
 * @param array $arBinds Array of binds
 * @param int $offset Offset
 * @param int $limit Limit
 * @return DbResult
 */
public function query($sql)
{
	list($sql, $arBinds, $offset, $limit) = self::parseQueryFunctionArgs(func_get_args());

	$trackerQuery = null;
	if ($this->trackSql)
		$trackerQuery = $this->sqlTracker->getNewTrackerQuery();

	$result = $this->queryInternal($sql, $arBinds, $offset, $limit, $trackerQuery);

	return $this->createDbResult($result, $trackerQuery);
}