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 в даному прикладі приймає три різні параметри:

  1. вхідний параметр (IN), який приймає ім'я першої тварини як вхідні дані

  2. параметр вводу-виводу (INOUT), який приймає ім'я другої тварини як вхідні дані та повертає рядокTRUEякщо тварина в базі даних збігається з цим ім'ям

  3. вихідний параметр (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-запит до виконання