Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: dbi style questions (code, discussion)

by Anonymous Monk
on Dec 29, 2001 at 20:37 UTC ( [id://135120]=note: print w/replies, xml ) Need Help??


in reply to dbi style questions (code, discussion)

I do a lot of DBI programming on a daily basis and I still haven't come up with something I am 100% happy with. Most of the SQL statements I use are long multiline ones, which I like the form:
my $sth = $dbh->prepare(q{ SELECT x, y, z FROM table1, table2 WHERE x = ?, y = ? ORDER BY z });
I think making the SQL commands uppercase helps them stand out from the code a bit better. If it's a shorter statment I try to squeeze it on to one line. I also use prepared statements for most everything, apart from 1 shot updates, deletes etc.
$dbh->do('delete from temp where x = ?', undef, $x);
According to the DBI docs, using bind_columns is the way to go, it means you can write code like:
$sth->execute; $sth->bind_column(\$res); $sth->fetch;
$res would be undef if there was an error.

Another alternative is:

$sth->execute; unless (@cols = $sth->fetchrow_array) { # error }
Hope this gives you a few ideas.

Replies are listed 'Best First'.
Re: Re: dbi style questions (code, discussion)
by gav^ (Curate) on Dec 29, 2001 at 20:38 UTC
    Dammit, forgot to log on. Doh!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://135120]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (2)
As of 2024-04-19 00:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found