$sth = $dbh->prepare($sql);
$sth->execute();
$sth->{NAME};
但在以下情况下你怎么做:
$hr = $dbh->selectall_hashref($sql,'pk_id');
没有$sth
,那么你如何获得$sth->{NAME}
? $dbh->{NAME}
不存在。
答案 0 :(得分:5)
当您查看某行时,您始终可以使用keys %$row
找出它包含的列。它们与NAME
完全相同(除非您将FetchHashKeyName
更改为NAME_lc
或NAME_uc
)。
答案 1 :(得分:0)
您始终可以自己准备和执行句柄,从中获取列名,然后将句柄而不是sql传递给selectall_hashref(例如,如果您想要列名但语句可能不返回任何行)。虽然你也可以在语句句柄上调用fetchall_hashref。