0

我看过很多关于这方面的文章,但没有一篇对我有用。我有这个代码 -

$var1->{reference} = sql_get_rows();   


sub sql_get_rows(){
    etc
    return ($sth->fetchall_arrayref());
 };

我想做的是知道在 SQL 语句中找到多少行并存储在 $var1->{reference} 中(或者被告知解决问题的更好方法。我已经写了 $var1->{reference} 是什么下面存放。

warn Dumper ($var1->{reference});

'$VAR1 = [
      [
        26412502,
        'initial'
      ],
      [
        49246682,
        'title'
      ],

请注意,我知道如何通过 SQL 语句找到 COUNT,这不是我想知道的。

谢谢

4

1 回答 1

2

如果使用 DBI,请使用rows 方法

my $sth = $dbh->prepare(q{...});
$sth->execute(@bound_variables) or die $dbh->errstr;

print "Rows = " . $sth->rows;

正如@ThisSuitIsBlackNot 指出的那样,这可能不起作用,所以如果您要提取所有记录,只需计算数据结构:

print "Rows = " . scalar @{$var1->{reference}};
于 2014-03-12T22:12:46.680 回答