in reply to Using If statement to set DBI prepare
First, prepare() is not a statement handle method, it's a database handle one. Apart from that, your way seems appropriate for what you want to do. In the TIMTOWTDI philosophy, you could set up the SQL statement and placeholders in the conditional and execute at the end. Something along the lines of
my ($sql, @placeholders); if (@rows == 0) { $sql = qq{SELECT 1}; @placeholders = ($svr1, $ap1, $in); } else { $sql = qq{SELECT 2}; @placeholders = ($svr1, $ap); } my $sth = $dbh->prepare($sql); $sth->execute(@placeholders);
Looks more wordy, but that's how I usually like to do it.
Update: I had a comment for @rows == "0", but apparently perl is smart enough to DWIM and guess the correct context, never producing any warning or some such, whatever the case may be (@rows eq "0", @rows eq 0 and @rows == 0 all work).
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Using If statement to set DBI prepare
by dtharby (Acolyte) on Jul 21, 2005 at 10:32 UTC | |
|
Re^2: Using If statement to set DBI prepare
by dtharby (Acolyte) on Jul 28, 2005 at 08:29 UTC | |
by Fang (Pilgrim) on Jul 28, 2005 at 13:47 UTC |