in reply to SQL prepared statements using MySQL In ()
G'day djlerman,
"What is the useful wisdom around this?"
TMTOWTDI. Here's how I might tackle this.
In the code example below, I've used all of these features. The two print statements show how the variables are interpolated into the prepare() and execute() methods (note that @valuesForIn expands to a space-separated list in the double-quoted string).
$ perl -e ' use strict; use warnings; # Somewhere earlier in your code, something like this: # my $dbh = DBI->connect( # $data_source, $username, $auth, # {RaiseError => 1, ...} # ); my @valuesForIn = 1..5; my $query = qq{ SELECT field1 FROM table1 WHERE field2 IN (@{[join ",", qw{?} x @valuesForIn]}) }; print "my \$sth1 = \$dbh->prepare($query);\n"; print "\$sth1->execute(@valuesForIn);\n"; ' my $sth1 = $dbh->prepare( SELECT field1 FROM table1 WHERE field2 IN (?,?,?,?,?) ); $sth1->execute(1 2 3 4 5);
— Ken
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: SQL prepared statements using MySQL In ()
by djlerman (Beadle) on Aug 11, 2023 at 16:53 UTC |