db2_exec
(PECL ibm_db2 >= 1.0.0)
db2_exec — Виконує SQL-запит безпосередньо
Опис
db2_exec(resource $connection, string $statement, array $options = []): resource|false
Виконує SQL-запит безпосередньо.
Якщо ви плануєте інтерполювати змінні PHP у SQL-запит, майте на увазі, що це одна з найпоширеніших уразливостей безпеки. Розгляньте можливість виклику db2_prepare() для підготовки SQL запиту з маркерами параметрів для вхідних значень. Потім ви можете викликати db2_execute(), щоб передати вхідні значення та уникнути атак SQL-ін'єкцій.
Якщо ви плануєте багаторазово виконувати один і той же SQL-запит з різними параметрами, розгляньте можливість виклику db2_prepare() і db2_execute(), щоб сервер бази даних міг повторно використати свій план доступу та підвищити ефективність вашої бази даних.
Список параметрів
connection
Допустима змінна ресурсу з'єднання з базою даних, що повертається функцією db2_connect() або db2_pconnect()
statement
SQL запит. Запит не може містити маркер параметрів.
options
Асоціативний масив, що містить параметри оператора. Параметр можна використовувати для запиту курсору, що прокручується, на серверах баз даних, що підтримують цю функцію.
Опис допустимих опцій оператора дивіться у розділі db2_set_option()
Значення, що повертаються
Повертає ресурс оператора, у разі успішного виконання SQL-запиту або false
, якщо базі даних не вдалося виконати SQL-запит.
Приклади
Приклад #1 Створення таблиці за допомогою db2_exec()
У наступному прикладі db2_exec() використовується для виконання набору DDL-запитів у процесі створення таблиці.
Loading...
Результат виконання наведеного прикладу:
Таблица создана.
Добавлена запись... Добавлена запись... Добавлена запись... Добавлена запись... Добавлена запись... Добавлена запись... Добавлена запись...
Приклад #2 Виконання запиту SELECT з курсором, що прокручується.
У наступному прикладі показано, як запросити курсор, що прокручується, для SQL-запиту, виданого функцією db2_exec()
Loading...
Результат виконання наведеного прикладу:
Bubbles
Gizmo
Pook
Rickety Ride
Приклад #3 Отримання даних XML як SQL ResultSet
У цьому прикладі показано, як працювати з документами, що зберігаються в стовпці XML за допомогою бази даних SAMPLE. Використовуючи досить простий SQL/XML, цей приклад повертає деякі вузли в XML-документі у форматі SQL ResultSet, з яким знайома більшість користувачів.
Loading...
Результат виконання наведеного прикладу:
1000 Kathy Smith 416-555-1358
1001 Kathy Smith 905-555-7258
Приклад #4 Виконання "JOIN" з даними XML
Наступний приклад працює з документами, що зберігаються у 2 різних стовпцях XML у базі даних SAMPLE. Він створює 2 тимчасові таблиці з XML-документів із 2 різних стовпців і повертає SQL ResultSet з інформацією про статус доставки для клієнта.
Loading...
Результат виконання наведеного прикладу:
1001 Kathy Smith 905-555-7258 5002 Shipped
Приклад #5 Повернення SQL-даних як частини великого XML-документа
Наступний приклад працює з частиною документів PRODUCT.DESCRIPTION у базі даних SAMPLE. Він створює XML-документ, що містить опис продукту (дані XML) та інформацію про ціни (дані SQL).
Loading...
Результат виконання наведеного прикладу:
<promoList xmlns="http://posample.org">
<promoitem>
<product pid="100-100-01">
<description>
<name>Snow Shovel, Basic 22 inch</name>
<details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
<price>9.99</price>
<weight>1 kg</weight>
</description>
</product>
<startdate>2004-11-19</startdate>
<enddate>2004-12-19</enddate>
<promoprice>7.25</promoprice>
</promoitem>
</promoList>
Дивіться також
- db2_execute() - Виконує підготовлений SQL-запит
- db2_prepare() - готує SQL-запит до виконання