db2_prepare
(PECL ibm_db2 >= 1.0.0)
db2_prepare — Підготовка SQL-запиту до виконання
Опис
db2_prepare(resource $connection, string $statement, array $options = []): resource|false
db2_prepare() створює підготовлений SQL-запит, який може містити 0 або більше маркерів параметрів (символів ?
), що представляють вхідні параметри, параметри виведення або вхідні параметри та параметри виведення. Ви можете передати параметри підготовленому запиту за допомогою db2_bind_param() або тільки для вхідних значень у вигляді масиву, переданого в db2_execute()
Використання підготовлених запитів у вашому додатку дає три основні переваги:
-
Продуктивність: при використанні підготовленого запиту сервер бази даних створює оптимізований план доступу для вилучення даних за допомогою цього запиту. Подальше виконання підготовленого запиту за допомогоюdb2_execute()дозволяє операторам повторно використовувати цей план доступу і дозволяє уникнути накладних витрат на динамічне створення нового плану доступу для кожного запиту, який ви виконуєте.
-
Безпека : під час використання підготовленого запиту можна ввімкнути маркери параметрів для вхідних значень. Коли ви виконуєте підготовлений запит із вхідними значеннями для заповнювачів, сервер бази даних перевіряє кожне вхідне значення, щоб переконатися, що тип відповідає визначенню стовпця або параметру.
-
Розширений функціонал: Маркери параметрів не тільки дозволяють передавати вхідні значення в підготовлені SQL-запити, вони також дозволяють витягувати параметри OUT і INOUT зі збережених процедур за допомогоюdb2_bind_param()
Список параметрів
connection
Допустима змінна ресурсу підключення до бази даних, що повертається функцією db2_connect() або db2_pconnect()
statement
SQL-запит, який необов'язково містить один або кілька маркерів параметрів.
options
Асоціативний масив містить параметри запиту. Параметри можна використовувати для запиту курсору, що прокручується, на серверах баз даних, що підтримують цю функцію.
Опис допустимих опцій запиту дивіться у розділі db2_set_option()
Значення, що повертаються
Повертає ресурс оператора, якщо SQL-запит було успішно проаналізовано та підготовлено сервером бази даних. Повертає **false
**якщо сервер бази даних повернув помилку. Ви можете визначити, яка помилка була повернена, викликавши db2_stmt_error() або db2_stmt_errormsg()
Приклади
Приклад #1 Підготовка та виконання SQL-запиту з маркерами параметрів
У наступному прикладі готується запит INSERT, який приймає чотири маркери параметрів, а потім виконує ітерацію масивів, що містять вхідні значення, які необхідно передати в db2_execute()
Loading...
Дивіться також
- db2_bind_param() - Зв'язує змінну PHP із параметром SQL-виразу
- db2_execute() - Виконує підготовлений SQL-запит
- db2_stmt_error() - Повертає рядок, що містить SQLSTATE, повернутий SQL-оператором
- db2_stmt_errormsg() - Повертає рядок, що містить останнє повідомлення про помилку SQL-виразу