#arrays #perl #dbi
#массивы #perl #dbi
Вопрос:
Я пишу на Perl, и у меня возникла небольшая проблема.
Я должен ссылаться на столбцы, названия которых я не знаю, но я знаю, сколько я получу обратно.
Я ищу функцию, подобную bind_columns
but, которая работает с массивом.
Например, @Arr[0]
содержит данные из столбца 1.
Комментарии:
1. А?
@array = $sth->fetchrow_array();
Теперь у вас есть все столбцы из этой строки в массиве.2. Вы можете использовать любой из
fetchrow_array
,fetchrow_arrayref
, илиfetchrow_hashref
, или вы можете использоватьbind_columns
с определенными именами переменных (см. blog.bluefeet.net/2011/08/using-dbi-effectively-bind_columns для простого примера этого). Если ваш запрос не имеет формуselect * from table
, то вы знаете, сколько столбцов вы выбираете.3. @Brian Roach: Это решение прямо здесь. Опубликуйте это как ответ (вместо комментария), и вы получите мой голос.
Ответ №1:
Посмотрите, как заполняется @Arr . Похоже, вы получаете это с помощью чего-то вроде:
@Arr = $sth->fetchrow(); #=> ['bar','baz']
Возможно, было бы лучше получить:
$row = $sth->fetchrow_hashref(); #=> {'name'=>'bar','title'=>'baz'}
$$row{'name'}; #=> 'bar'