in reply to DBI fetchrow_hashref issue
It answers alot of common errors.
Also search perlmonks for DBI and "placeholders".
I don't see any prepare statements to go along with your $sth lines. Like:
$sth = $dbh->prepare("SELECT * FROM table" ); [download]