Код |
---|
if (!empty($var)) { $DB->Query("DELETE FR OM b_sonet_group WH ERE GROUP_ID = ".$groupId." LIMIT 1", true); } |
Код |
---|
if (!empty($var)) |
03.09.2020 21:13:21
Интересно с какой целью писали этот код?
Хочется начать с вопроса: почему выполняются прямые запросы в базу для таблиц битрикса? Да и ладно, что удаляет не через api, но кто в таком случае удалит привязку пользователей к группе? А фичи? А почты? А права? А кеш? Хочется рассказать автору, что есть CSocNetGroup::Delete( $groupId ) который это сделает за него. Продолжить хочется более интересным вопросом: а зачем в запросе с первичным ключем LIMIT? ID это и так primary поле которое однозначно идентифицирует запись и двух записей с одним ID быть не может. Limit там совершенно бесполезен (но да ладно, анализатор запросов умный и сам уберет). Но черт возьми, совершенно не проверяется существование этого самого $groupId и его валидация. Проверяется заполненность какого-то ненужного $var, а вот $groupId нет. И ладно бы если выше еще проверили что это хотя бы int, а то там и sql injection пропустить можно
Голосуй за идеи по развитию API Bitrix:
|
||||
|
|
|||