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-запит до виконання