my $data = qq(SELECT engine, name1, name2, name3, name4, lable1, l
+able2, lable3, lable4, settings1, settings2,
settings3, settings4 FROM special_fields WHERE engin
+e IN (".join(",",map($dbh->quote($_), @choices)).") AND
settings1="public" OR settings2="public" OR settings
+3="public" OR settings4="public");
my $sth = $dbh->prepare($data);
$sth->execute() or die $dbh->errstr;
my ($engine, $name1, $name2, $name3, $name4, $lable1, $lable2, $la
+ble3, $lable4, $settings1, $settings2,
$settings3, $settings4);
$sth->bind_columns(\$engine, \$name1, \$name2, \$name3, \$name4, \
+$lable1, \$lable2, \$lable3, \$lable4,
\$settings1, \$settings2, \$settings3, \$settin
+gs4);
It's long code, I apologize, there's like 12 columns in this table which makes it look messy.
The thing really confusing me is the entire JOIN statement, it was code from a previous node on here.
All I'm trying to do is have a variable (@choices) with a few names (engines column) and pull back only the records found in the array. That's why the join() is there and that's why I'm completely lost.
When I wrap ( ) around AND ( ... or ... or ... ) I get 0 results back. |