Re: variable within regular expression
| From: | Ignatius Reilly | Date: | Mon, 07 Apr 2003 17:50:49 +0000 |
| Subject: | Re: variable within regular expression | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-26910@lists.php.net to get a copy of this message | ||
For readability (and writability...) purpose, I prefer to write such a query
in the form:
$query =
"SELECT {$field}FROM {$table}WHERE {$variable}REGEXP '{$con}' " ;
Ignatius
____________________________________________
----- Original Message -----
From: <Jeffrey_N_Dyke@Keane.com>
To: "Robbie Staufer" <rstaufer@scd.ucar.edu>
Cc: <php-db@lists.php.net>; "Rob Bryant" <rob@3jar.com>
Sent: Monday, April 07, 2003 7:25 PM
Subject: Re: [PHP-DB] variable within regular expression
>
> if you want to truley use regular expressions, change the query to $query
> = "SELECT " . $field . " FROM " . $table . " WHERE " .
> $variable . " REGEXP '".$con."'";
>
> and drop the %'s, as you won't need them with a true REGEXP search.
> as far as the signle quotes those should be fine. but in this example i
> concatenated with -> .
>
> this could be nothing like what your looking for...and if so, sorry for th
> waste of bandwidth.
>
> jd
>
>
>
> Robbie Staufer
> <rstaufer@scd. To: Rob Bryant <rob@3jar.com>
> ucar.edu> cc: php-db@lists.php.net
> Subject: Re: [PHP-DB]
variable within regular expression
> 04/07/2003
> 01:19 PM
>
>
>
>
>
>
> Thanks for the help. Here's what I tried:
> // convert $con to regular expression
> $con = "%$con%";
> $query = "SELECT " . $field . " FROM " . $table . " WHERE
> " .
> $variable . " LIKE '%{$con}%'";
>
> I'm sure this is close to correct, but it's not working yet. The
> application itself works for numeric values for $con, and also for exact
> string values for $con. But if a partial string is entered for $con,
> the regex conversion part fails.
>
> Thanks,
> Robbie Staufer
>
> Rob Bryant wrote:
>
> >>-----Original Message-----
> >>From: Robbie Staufer [mailto:rstaufer@scd.ucar.edu]
> >>Sent: Friday, April 04, 2003 3:59 PM
> >>To: php-db@lists.php.net
> >>Subject: [PHP-DB] variable within regular expression
> >>
> >>
> >>
> >>I have a php query form in which the user input must be converted to a
> >>regular expression before querying the db. Something like this
> >>pseudo code:
> >> $var = $_GET['usr-input'];
> >> $var = '%$var%';
> >>SELECT * FROM table WHERE field LIKE $var.
> >>
> >>I can't find the right syntax to make this work. Does anyone know?
> >>
> >>
> >>
> >
> >I think maybe the single quotes don't interpolate the value of the
> variable.
> >
> >In other words, let's say $var is 'fubar':
> >
> >$var = '%$var%'; // -> is literally %$var%
> >
> >vs.
> >
> >$var = "%$var%"; // -> is %fubar%
> >
> >Anyway, here's some of my code that is similar to (what I think) you're
> >trying to do:
> >
> >if (isset($_GET['nstring'])) {
> > $nstring = addslashes($_GET['nstring']);
> > $squery = "SELECT * FROM lead
> > WHERE name LIKE '%{$nstring}%'
> > ORDER BY source, ref_by, date DESC";
> > $sresult = mysql_query($squery);
> >} // etc...
> >
> >
> >
> >
>
> --
> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
> Robbie Staufer
> NCAR/SCD
> 1850 Table Mesa Dr. Rm. 42
> Boulder, CO. 80305
> (303) 497-1836
>
>
>
>
>
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>