my $results = $dbh->selectall_arrayref(<<'SQL',{ Slice => {} }, $placeholder1, ... );
SELECT foo
, bar
FROM mytable
SQL
####
my $sql = <<'SQL';
SELECT foo
, bar
FROM mytable
SQL
$app->log($sql);
my $results = $dbh->selectall_arrayref($sql,{ Slice => {} }, $placeholder1, ... );
####
my $sql = <<'SQL';
SELECT foo
, bar
FROM mytable
SQL
# $app->log($sql);
my $results = $dbh->selectall_arrayref($sql,{ Slice => {} }, $placeholder1, ... );
####
while (my ($name,$value) = each %$parameter_names) {
(my $perl_name) = ($name =~ m!(\w+)!);
$perl_name = '$' . $perl_name;
if( ! exists $parameters->{$perl_name}) {
croak "Missing bind parameter '$perl_name'";
};
my $type = SQL_VARCHAR;
# This is a horrible API, but so is using uplevel'ed variables
if( my $r = ref $parameters->{$perl_name}) {
if( $r eq 'SCALAR' ) {
$type = SQL_INTEGER;
# Clear out old variable binding:
my $v = $parameters->{$perl_name};
delete $parameters->{$perl_name};
$parameters->{$perl_name} = $$v;
} elsif( $r eq 'ARRAY' ) {
$type = SQL_INTEGER;
# Clear out old variable binding:
my $v = $parameters->{$perl_name};
delete $parameters->{$perl_name};
$parameters->{$perl_name} = $v->[0];
$type = $v->[1];
}
}
$sth->bind_param($name => $parameters->{$perl_name}, $type)
};