Fetch data with one row and one column from table using Perl DBI

Mohan picture Mohan · Aug 4, 2013 · Viewed 15.9k times · Source

I am trying to fetch data like (Select 1 from table) which returns data with one row and one column.

I dont want to use $sth->fetchrow_array method to retreive the data in to array. Is there any way to collect the data into scalar variable direclty?

Answer

ikegami picture ikegami · Aug 4, 2013

fetchrow_array returns a list —it's impossible to return an array— and you can assign that to anything list-like such as a my().

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

Or you could simply use

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