Доступные версии документации

Привязка массива формальных параметров (bind_param_array)

Назначение
 

Метод bind_param_array выполняет привязку массива значений к претранслированному SQL-запросу для последующего его выполнения с помощью метода execute_array.

Ограничения метода:

  1. нельзя использовать для передачи списка привязываемых значений в выражение типа SELECT foo WHERE bar IN (?);

  2. привязка массива параметров поддерживается только для SQL-операторов INSERT, UPDAT или DELETE;

  3. не допускается смешение методов bind_param_array и bind_param при привязке параметров одного и того же претранслированного SQL-запроса;

  4. метод bind_param_array должен использоваться совместно только с методом execute_array.

Пакет

Package Linter::st

Прототип
$rc = $sh->bind_param_array($p_num, $array_ref_or_value);
$rc = $sh->bind_param_array($p_num, $array_ref_or_value, $bind_type);
Параметр Описание
$p_num Порядковый номер привязываемого параметра. Отсчет начинается с 1
$array_ref_or_value Значение или ссылка на массив значений привязываемых параметров (допускается NULL-значение параметра)
$bind_type Тип привязываемого параметра. Зарезервировано для дальнейшего использования
Возвращаемые значения
Переменная Описание

$rc:

  • 1

  • 0

 

Нормальное завершение

Ошибка выполнения метода

$DBI::errstr Диагностическое сообщение (в случае ошибки)
Пример
my $dbh = $drh -> connect("DEMO", "SYSTEM", "MANAGER")
        or die "Could not connect to database: " . DBI->errstr;
$dbh->do("create or repalce table TEST_TABLE
          (int_col int, char_col char(16), bigint_col bigint);");
my $sth = $dbh->prepare("insert into TEST_TABLE values(?, ?, ?);");
$sth->bind_param_array(1, [ 111, 222, 333 ]);
$sth->bind_param_array(2, [ 'Fisrt', 'Second', 'Third']);
$sth->bind_param_array(3, [ 111111, 222222, 333333]);
$sth->execute_array({ ArrayTupleStatus => \my @tuple_status });
$sth->finish();
$dbh->disconnect();
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter