Получить значения всей выборки данных (selectall_array)
Назначение
Метод selectall_array
объединяет вызовы методов prepare
, execute
и fetchall_array
в один вызов. Если результатом SQL-запроса является непустая выборка данных, то метод возвращает всю выборку данных в виде массива записей, каждая из которых представлена массивом значений полей SQL-запроса.
Пакет
Package Linter::db
Прототип
@ary = $dbh- >selectall_array($statement); @ary = $dbh- >selectall_array($statement, \%attr); @ary = $dbh- >selectall_array($statement, \%attr, @bind_values);
Параметр | Описание | |
---|---|---|
$statement | Текст SQL-запроса (возможно, с параметрами). SQL-запрос может быть предварительно претранслирован (подготовлен с помощью метода prepare ), тогда при выполнении метода selectall_array выполнение метода prepare будет пропущено | |
\%attr | Ассоциированный массив атрибутов с дополнительными указаниями по обработке метода:
| |
@bind_values | Массив, содержащий значения привязываемых параметров (если SQL-запрос содержит параметры) |
Возвращаемые значения
Переменная | Описание | |
---|---|---|
@ary | При наличии данных возвращается массив записей, каждая из которых представлена массивом значений полей SQL-запроса. В случае отсутствия данных или при наличии ошибок возвращается пустой массив | |
$DBI::errstr | Диагностическое сообщение (в случае ошибки выполнения метода) |
Пример
my $dbh = $drh- >connect("DEMO", "SYSTEM", "MANAGER8") or die "Could not connect to database: " . DBI- >errstr; my @bind_values = (71, 4); my $sth = $dbh- >prepare("select * from AUTO where YEAR = ? and CYLNDERS = ?;"); my @ary = $dbh- >selectall_array($sth, undef, @bind_values); for (my $i = 0; $i < scalar(@ary); $i++) { for (my $j = 0; $j < scalar(@{$ary[$i]}); $j++) { print($ary[$i][$j] . "\n"); } print("\n"); } $sth- >finish(); $dbh- >disconnect();