О web-разработке
и даже немного больше...

SQL запросы в битрикс

sqlКак известно система битрикс имеет API через которое подавляющая часть компонентов на сайте взаимодействует с данными. За простоту и удобство в некоторых ситуациях приходиться жертвовать производительностью. Однако имея некий опыт в программировании, и зная синтаксис языка запросов к базе данных, есть возможность так же взаимодействовать с базой данных путем произвольных запросов. Тут конечно можно наделать делов, поэтому просьба быть с вашими данными крайне аккуратно.
Для заботы с базой данных в системе битрикс есть класс CDatabase. При каждой загрузке страницы автоматически создается переменная $DB, содержащая глобальный объект, который является объектом класса CDatabase. Используя этот объект можно проводить все действия с базой данных.
Класс для работы с базой данных содержит множество методов, один из них мы рассмотрим тут.

Метод CDatabase::Query

Метод выполняет запрос к базе данных и в случае успешного выполнения возвращает результат в виде объекта класса CDBResult.
Синтаксис:

mixed
CDatabase::Query(
 string sql,
 bool ignore_errors=false,
 string error_position="",
 array Options=array() 
)

Параметры:

  • sql – строка SQL запроса.
  • ignore_errors — Игнорирование возникновения ошибок при выполнении. Если true, то в случае ошибки функция возвращает «false». Если параметр ignore_errors равен «false», то в случае ошибки функция прекращает выполнение всей страницы. Необязательный параметр, по умолчанию — «false».
  • error_position — Строка идентифицирующая позицию в коде, откуда была вызвана данная функция CDatabase::Query. Если в SQL запросе будет ошибка и если в файле /bitrix/php_interface/dbconn.php установлена переменная $DBDebug=true;, то на экране будет выведена данная информация и сам SQL запрос, так же является необязательным параметром.
  • Options – доп. опции, необязательный параметр, появился в методе начиная с версии 9.5.10

Если параметр ignore_errors равен «true», и возникла ошибка при запросе, то метод вернет «false». В ином случае то метод прерывает выполнение страницы, выполняя перед этим следующие действия:

  1. Вызов функции AddMessage2Log.
  2. Если текущий пользователь является администратором сайта, либо в файле /bitrix/php_interface/dbconn.php была инициализирована переменная $DBDebug=true;, то на экран будет выведен полный текст ошибки, в противном случае будет вызвана функция SendError.
  3. Будет подключен файл /bitrix/php_interface/dbquery_error.php, если он не существует, то будет подключен файл /bitrix/modules/main/include/dbquery_error.php

Пример запроса:

global $DB;

$results = $DB->Query("SELECT `VALUE` FROM `b_option` WHERE `NAME` LIKE 'email_from'");

while($row = $results->Fetch()){
	echo '<pre>'; print_r($row); echo '</pre>';
}
Опубликован: 04.06.2015 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта