in reply to Re^3: in, ands, ors in query (qq)
in thread in, ands, ors in query
This is the entire mysql statement that runs without error but pulls records back that it shouldn't.
It's long code, I apologize, there's like 12 columns in this table which makes it look messy.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);
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: in, ands, ors in query (qq)
by tye (Sage) on Dec 13, 2006 at 03:29 UTC | |
by Anonymous Monk on Dec 13, 2006 at 04:21 UTC | |
by tye (Sage) on Dec 13, 2006 at 04:57 UTC |