我的关联数组在哪里以及如何使用 Perl DBI 访问它?
我正在使用 perl 并使用 DBI。到目前为止,我一直在使用 ->fetchall_arrayref 来获取数据库查询的结果,并且仅通过数字键访问数组。但是,我更喜欢能够通过字段名称(关联获取)而不是数字来访问记录。
我该如何执行此操作?访问密钥的正确语法是什么?
我更喜欢这样的东西:
$data[0]['name']
而不是:
$data[0][1]
工作解决方案
my %data;
@{$data{$id}}{('name')} = 'something';
I'm working with perl, and using DBI. Up to now, I've been using ->fetchall_arrayref to get the results of a database query, and just accessing the array by numeric keys. However, I much prefer to be able to access records by the field names (associative fetch) than numeric.
How do I do this, and what is the correct syntax for accessing the keys?
I would prefer something like:
$data[0]['name']
Instead of:
$data[0][1]
Working Solution
my %data;
@{$data{$id}}{('name')} = 'something';
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
阅读 DBI 文档。特别是
fetchall_hashref
。而且您还应该学习 Perl 语法,因为它与 PHP 不同。
Read the DBI docs. Particularly,
fetchall_hashref
.And you should also learn Perl syntax, as it's not the same as PHP.
您可以使用 selectall_arrayref 来实现此目的。以下是 DBI 联机帮助页中的示例:
You can use selectall_arrayref for this. Here's example from the DBI manpage:
如果你执行
fetchall_hashref()
,那么你就会得到你正在寻找的哈希值。键将是数据库中的字段名称。我有点晚了,乔明白了,但它会的。If you do
fetchall_hashref()
then you get the hash you are looking for. The keys will be the field names from the database. I am a little late, and Joe got it, but it will be.