Perl DBI与bind_columns和没有它的区别是什么?

时间:2013-08-23 07:17:34

标签: perl bind fetch dbi

perl dbi中的以下代码有什么区别?

1

while (my ($p1, $p2, $p3) = $sth->fetchrow_array()) {
    # ... some code ...
}

2

$sth->bind_columns(\my ($p1, $p2, $p3));
while ($sth->fetch) {
    # ... some code ...
}

两者都会导致相同的结果。 Perlmonks建议绑定变体。 如果有人解释原因,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

文档说,绑定是获取数据的更有效方法:

  

使用Perl别名以低级别执行绑定。每当   从数据库中获取一行$ var_to_bind似乎是   自动更新只是因为它现在指的是相同的内存   location作为相应的列值。这使得使用绑定   变量非常有效。