2013-08-04 34 views
5

kullanarak tablodan bir satır ve bir sütun ile veri alma Tek bir satır ve bir sütun ile veri döndüren (Select 1 from table) gibi verileri getirmeye çalışıyorum.Perl DBI

Dizideki verileri geri almak için $sth->fetchrow_array yöntemini kullanmak istemiyorum. Verileri skaler değişken directa toplamak için herhangi bir yolu var mı?

cevap

7

fetchrow_array bir dizi — dönmek imkansız ve böyle bir my() olarak herhangi bir şey list-like bu atayabilirsiniz bir liste — döndürür.

my $sth = $dbh->prepare($stmt); 
$sth->execute(); 
my ($var) = $sth->fetchrow_array() 
    and $sth->finish(); 

Veya sadece `fetchrow_array` ve selectrow_array`` için

my ($var) = $dbh->selectrow_array($stmt); 
+0

belgeleri kullanabilir ilk veya son iki dönersiniz ima skaler bağlamda çağrıldığında sütun, bu yüzden benim ($ var) = ... 'deki parens normalde önemli iken, onları burada çıkarmak mümkün olmalıdır. – ikegami

1
my ($value) = @{$dbh−>selectcol_arrayref("select 1 from table")} 

veya daha iyi

my ($value) = $dbh−>selectrow_array($statement);