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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|