If you're just trying to see whether or not any of the words are contained within the text field, try using LIKE instead of REGEXP. As for the SQL statement, if you're using DBI then please use placeholders.
my $dbh = makeDBConnectionSomehow; my @keywords = qw/blah bleh blah/; # formats each keyword so it looks like %keyword% my @executeKeywords = map ("\%$_\%",@keywords); my $sql_stmt = "select * from database where"; # puts the "plantdescription like ? or pla.." at end of sql_stmt...one + like per keyword $sql_stmt .= join(" OR",(" PlantDescription LIKE ?")x@keywords); my $query = $dbh->prepare($sql_stmt); my $query->execute(@executeKeywords);
Of course, I have a few links to recommended reading: Tricks with DBI, DBI pod, MySQL documentation on LIKE, and the DBI::FAQ.
antirice
The first rule of Perl club is - use Perl
The ith rule of Perl club is - follow rule i - 1 for i > 1
In reply to Re: regex search
by antirice
in thread regex search
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |