Name
fetchrow_hashref
Synopsis
$hash_ref = $sth->fetchrow_hashref; $hash_ref = $sth->fetchrow_hashref($name);
An alternative to
fetchrow_arrayref
.
Fetches the next row of data and returns it as a reference to a hash
containing field name and field value pairs. Null fields are returned
as undef
values in the hash.
If there are no more rows, or if an error occurs, then
fetchrow_hashref
returns an
undef
. You should check
$sth-
>err
afterwards (or use
the RaiseError
attribute) to discover if the
undef
returned was due to an error.
The optional $name
parameter specifies the name of
the statement handle attribute. For historical reasons it defaults to
NAME
; however, using either
NAME_lc
or NAME_uc
is
recommended for portability.
The keys of the hash are the same names returned by
$sth-
>{$name}
. If more than
one field has the same name, there will only be one entry in the
returned hash for those fields.
Because of the extra work fetchrow_hashref
and
Perl have to perform, this attribute is not as efficient as
fetchrow_arrayref
or
fetchrow_array
.
Currently, a new hash reference is returned for each row. This will change in the future to return the same hash ref each time, so don’t rely on the current behavior.
Get Programming the Perl DBI now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.