db2_bind_param
(PECL ibm_db2 >= 1.0.0)
db2_bind_param — Зв'язує змінну PHP із параметром SQL-виразу
Опис
db2_bind_param( resource $stmt, int $parameter_number, string $variable_name, int $parameter_type = DB2_PARAM_IN, int $data_type = 0, int $precision = -1, int $scale = 0): bool
Зв'язує змінну PHP з параметром SQL-вираження у виразному ресурсі, що повертається db2_prepare(). Ця функція дає більший контроль над типом параметра, типом даних, точністю та масштабом для параметра, ніж проста передача змінної як частини необов'язкового вхідного масиву db2_execute()
Список параметрів
stmt
Підготовлений вираз, що повертається db2_prepare()
parameter_number
Задає позицію параметра, що нумерується з 1 у підготовленому виразі.
variable_name
Строка, определяющая имя переменной PHP для привязки к параметру, заданномуparameter_number
parameter_type
Константа, що визначає, чи має змінна PHP бути прив'язана до параметра SQL як вхідний параметр (DB2_PARAM_IN
), вихідний параметр (DB2_PARAM_OUT
) або як параметр, що приймає введення та повертає висновок (DB2_PARAM_INOUT
). Щоб уникнути перевантаження пам'яті, можна також вказати DB2_PARAM_FILE
, щоб прив'язати змінну PHP до імені файлу, який містить дані великого об'єкта (BLOB, CLOB або DBCLOB).
data_type
Константа, що вказує тип даних SQL, з яким має бути пов'язана змінна PHP: DB2_BINARY
DB2_CHAR
DB2_DOUBLE
илиDB2_LONG
precision
Задає точність, з якою змінна має бути прив'язана до бази даних. Цей параметр також можна використовувати для отримання вихідних значень XML зі збережених процедур. Невід'ємне значення вказує максимальний розмір даних XML, які будуть вилучені з бази даних. Якщо цей параметр не використовується, для отримання вихідного значення XML із процедури, що зберігається, передбачається значення за замовчуванням 1 МБ.
scale
Задає масштаб, з яким змінна має бути прив'язана до бази даних.
Значення, що повертаються
Повертає true
у разі успішного виконання або **false
**в случае возникновения ошибки.
Приклади
Приклад #1 Прив'язка змінних PHP до підготовленого виразу
SQL-вираз у цьому прикладі використовує два вхідні параметри в пропозиції WHERE. Викликається db2_bind_param(), щоб зв'язати дві змінні PHP із відповідними параметрами SQL. Зверніть увагу, що змінні PHP не потрібно оголошувати або надавати перед викликом db2_bind_param(); у цьому прикладі $lower_limit
надається значення перед викликом db2_bind_param(), а$upper_limit
надається значення після виклику db2_bind_param(). Перед викликом db2_execute() змінні мають бути пов'язані, а параметрам, що приймають введення, має бути присвоєно будь-яке значення . db2_execute()
Loading...
Результат виконання наведеного прикладу:
Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3
Приклад #2 Виклик збережених процедур з параметрами IN та OUT
Зберігається процедура match_animal в даному прикладі приймає три різні параметри:
-
вхідний параметр (IN), який приймає ім'я першої тварини як вхідні дані
-
параметр вводу-виводу (INOUT), який приймає ім'я другої тварини як вхідні дані та повертає рядок
TRUE
якщо тварина в базі даних збігається з цим ім'ям -
вихідний параметр (OUT), який повертає суму ваги двох ідентифікованих тварин
Крім того, процедура, що зберігається, повертає набір результатів, що складається з тварин, перерахованих в алфавітному порядку, починаючи з тварини, що відповідає вхідному значенню першого параметра, і закінчуючи тваринам, відповідним вхідному значенню другого параметра.
Loading...
Результат виконання наведеного прикладу:
Values of bound parameters _before_ CALL:
1: Peaches 2: Rickety Ride 3: 0
Values of bound parameters _after_ CALL:
1: Peaches 2: TRUE 3: 22
Results:
Peaches, dog, 12.3
Pook, cat, 3.2
Rickety Ride, goat, 9.7
Приклад #3 Вставлення великого двійкового об'єкта (BLOB) безпосередньо з файлу
Дані великих об'єктів зазвичай зберігаються у файлах, таких як документи XML або аудіофайли. Замість того, щоб зчитувати весь файл у змінну PHP і потім пов'язувати цю змінну PHP з SQL-виразом, можна уникнути деяких накладних витрат на пам'ять, прив'язавши файл безпосередньо до вхідного параметра SQL-виразу. У цьому прикладі показано, як безпосередньо прив'язати файл до стовпця BLOB.
Loading...
Дивіться також
- db2_execute() - Виконує підготовлений SQL-запит
- db2_prepare() - готує SQL-запит до виконання