Як відомо система бітрікс має 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». В іншому випадку метод перериває виконання сторінки, виконуючи перед цим наступні дії:
Приклад запиту:
global $DB;
$results = $DB->Query(“SELECT `VALUE` FROM `b_option` WHERE `NAME` LIKE ’email_from'”);
while($row = $results->Fetch()){
echo “; print_r($row); echo “;
}
Додав: htmaker, 04.06.2015 р.
(1 голосів, середній: 4,00 з 5)
Завантаження…
Діліться з друзями:
См. також:
Налаштування часу у VMBitrix
Рубрика: Bitrix, Linux
Видалення «кинутих» кошиків в системі Бітрікс
Рубрика: Bitrix
Використання highload-блоків в Bitrix
Рубрика: Bitrix
Як виконати SQL запит в Bitrix
Рубрика: Bitrix
Як підрахувати кількість елементів в Bitrix?
Рубрика: Bitrix
Динамічне масштабування зображень в Bitrix
Рубрика: Bitrix
Виключаємо користувача з ID=1 групи адміністраторів в Bitrix
Рубрика: Bitrix
Як скинути пароль адміністратора у Bitrix?
Рубрика: Bitrix
Робота з параметрами модулів зберігаються в базі
Рубрика: Bitrix