使用Perl DBI从表中提取一行和一列的数据

5

我想获取像(Select 1 from table)这样的数据,它返回一行一列的数据。

我不想使用$sth->fetchrow_array方法将数据收集到数组中。有没有办法直接将数据收集到标量变量中?

2个回答

10

fetchrow_array 返回一个列表,不可能返回一个数组,你可以将其分配给任何类似于列表的 list-like 东西,例如 my()

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

或者你可以简单地使用

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

fetchrow_arrayselectrow_array的文档表明,当在标量上下文中调用时,它们将返回第一列或最后一列,因此虽然my ($var) = ...中的括号通常很重要,但在这里可以省略它们。 - ikegami

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

或者更好
my ($value) = $dbh−>selectrow_array($statement);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接