in reply to Best way to call DBI query
I'm not sure why you're currently getting error messages, maybe something
else is overwriting dbh. But I am concerned about your lack of error
checking and your use of prepare (and if this was just a stripped down
example, much apologies).
my $dbh = $self->param('dbh') or carp "dbh is not behaving\n"; ... $sth->execute() or carp "problems executing ...\n"
note bad code showing use of "do" vice prepare deleted - it was just wrong but you probably should try prepare_cached and bind_params.
my $query = "SELECT id FROM table WHERE user = ?"; my $results=$self->query($query, $user )->fetchrow_array; sub query { # Do database query my($self, $sql, $val ) = @_; my $dbh=$self->param('dbh') or die "what's up with dbh?\n"; my $sth = $dbh->prepare_cached( $sql ); $sth->execute( $val ); return $sth; }
But maybe I'm all wet and you were just showing a snippet.
-derby Update: nevermind that whole "do" thingy - that only works on non-SELECT sql. drats.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Best way to call DBI query
by hakkr (Chaplain) on Mar 14, 2002 at 15:20 UTC |