(PECL ibm_db2 >= 1.0.0)
db2_prepare — Подготавливает SQL-запрос к выполнению
db2_prepare() создаёт подготовленный SQL-запрос, который может включать 0
или более маркеров параметров (символов ?), представляющих входные параметры, параметры вывода
или входные параметры и параметры вывода.
Вы можете передать параметры подготовленному запросу, используя db2_bind_param()
или только для входных значений в виде массива, переданного в db2_execute().
Использование подготовленных запросов в вашем приложении даёт три основных преимущества:
connectionstatementoptions
Возвращает ресурс оператора, если SQL-запрос был успешно проанализирован и подготовлен сервером базы данных.
Возвращает false, если сервер базы данных вернул ошибку.
Вы можете определить, какая ошибка была возвращена, вызвав
db2_stmt_error() или db2_stmt_errormsg().
Пример #1 Подготовка и выполнение SQL-запроса с маркерами параметров
В следующем примере подготавливается запрос INSERT, который принимает четыре маркера параметров, а затем выполняет итерацию по массиву массивов, содержащих входные значения, которые необходимо передать в db2_execute().
<?php
$animals = array(
array(0, 'cat', 'Pook', 3.2),
array(1, 'dog', 'Peaches', 12.3),
array(2, 'horse', 'Smarty', 350.0),
);
$insert = 'INSERT INTO animals (id, breed, name, weight)
VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
foreach ($animals as $animal) {
$result = db2_execute($stmt, $animal);
}
}
?>