【问题标题】:Refering to columns (MySQL) with Perl (DBI)使用 Perl (DBI) 引用列 (MySQL)
【发布时间】:2023-04-10 03:33:01
【问题描述】:

我正在使用 Perl 进行编码,但在这里遇到了一些小问题。

我必须参考我不知道名称但我知道我会得到多少的列。

我正在寻找像 bind_columns 这样的函数,但它使用数组进行操作。

例如,@Arr[0] 包含来自第 1 列的数据。

【问题讨论】:

  • 嗯? @array = $sth->fetchrow_array(); 现在您拥有该行中的所有列,在一个数组中。
  • 您可以使用 fetchrow_arrayfetchrow_arrayreffetchrow_hashref 中的任何一个,或者您可以使用带有特定变量名称的 bind_columns(请参阅 blog.bluefeet.net/2011/08/using-dbi-effectively-bind_columns 以获取易于理解的示例这)。除非您的查询格式为 select * from table,否则您就知道选择了多少列。
  • @Brian Roach:这就是解决方案。将其发布为答案(而不是评论),您就得到了我的支持。

标签: arrays perl dbi


【解决方案1】:

看看@Arr 是如何被填充的。看起来你得到它是这样的:

@Arr = $sth->fetchrow(); #=> ['bar','baz']

也许更适合得到:

$row = $sth->fetchrow_hashref(); #=> {'name'=>'bar','title'=>'baz'}
$$row{'name'}; #=> 'bar'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 2012-10-01
    • 2011-10-06
    • 2013-02-01
    • 2020-02-26
    • 2011-03-26
    • 2014-12-12
    相关资源
    最近更新 更多