> This is probably a very newbie-type of question, but I have this code 
> which a question noted by the ****** below.
> 
> my $sth = $dbh->prepare("SELECT * FROM patrons WHERE
patron_id=$patron_id");
>     $sth -> execute();
> 
>     # check to see if record is in database
>     if (my $ref = $sth->fetchrow_hashref()) {
>        # update record
>        print "Updating $name_f $name_l\n";
>        $dbh->do("UPDATE patrons SET name_f=$name_f, name_l=$name_l, 
> email=$email, discipline_id=$disc_id, rank_id=$status, username=$un");
>     }
>     else {
>        # insert new record
>        print "Inserting $name_f $name_l\n";
>        $dbh->do("INSERT INTO patrons (patron_id, name_f, name_l, email, 
> discipline_id, username, password, can_contact, rank_id, template_id) 
> VALUES ($patron_id, $name_f, $name_l, $email, $discipline_id, $un, $pwd, 
> '1', $status, $template_id);
> 
>        # join patrons to respective disciple default lists
>        # bib_databases
>        my $sth2 = $dbh->prepare("SELECT bib_database_id FROM 
> items4DisBibdatabases WHERE discipline_id=$disc_id");
>        $sth2 -> execute();
>        while (my $ref2 = $sth2->fetchrow_hashref()) {
> 
> ******         NEED TO use each bib_database_id ******
> how do I reference it?  with $_ or something else?
> 

fetchrow_hashref returns a row as a hash reference where the keys of the
hash are the columns of the table. Naturally your while loop loops over
each returned row temporarily storing the hash ref into $ref2... so, you
access your value with:

print $ref2->{'bib_database_id'};

Just as you would access any other hash reference. (Obviously the
'print' is just htere because I didn't know what you were doing with it).

>        }
> 
> Thanks,
> Tim
> 


http://danconia.org

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to