From: | "Moray McConnachie" <moray(dot)mcconnachie(at)computing-services(dot)oxford(dot)ac(dot)uk> |
---|---|
To: | "Jeffrey" <seesej(at)uswest(dot)net>, <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Perl error: fetchrow_hashref failed |
Date: | 2000-04-12 11:45:42 |
Message-ID: | 013101bfa474$a2d03960$760e01a3@oucs.ox.ac.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
----- Original Message -----
From: "Jeffrey" <seesej(at)uswest(dot)net>
To: <pgsql-general(at)postgresql(dot)org>
Sent: Wednesday, April 12, 2000 10:05 AM
Subject: [GENERAL] Perl error: fetchrow_hashref failed
> Hi, I wonder if I might tap the vast knowledge here againg.
>
> I have a perl script that is looping through a statement handle like this.
>
> $statement = "select * from sometable";
> $sth=$dbh->prepare($statement);
> $sth->execute();
>
> # here is the part I have a question about.
> while (%hash_ref = %{$sth->fetchrow_hashref}) {
>
> while (($k,$v) = each (%hash_ref)) {
> print ("\n$k == $v"); }
> }
I don't think your first loop will work because the %{$b} where $b is undef
will not produce an undef - I think.
See if this works? It ought to be more efficient anyway, because you only
need one hash in my version, not two like your routine (that created by the
fetchrow_hashref call and the hash %hashref itself.
while (defined $hash_ref=$sth->fetchrow_hashref) {
while (($k,$v)=each %$hashref) {
print ("\n$k==$v");
}
}
From | Date | Subject | |
---|---|---|---|
Next Message | Jeffrey | 2000-04-12 11:57:43 | Re: Perl error: fetchrow_hashref failed |
Previous Message | Jan Wieck | 2000-04-12 11:44:14 | Re: foriegn key... |