"IN ( exp1, exp2)" didn't seem to work for me. I've seen that used before for including a subquery, but somehow it didn't like the comma separated list.

I think this below is doing it for me.

$separated = implode("|", (explode(" ", (AddSlashes($_REQUEST['terms'])))));

       if($_REQUEST['c'] == "and"){
           $conditional = 'AND';
       }else{
           $conditional = 'OR';
       }
$delim = " WHERE Keyword REGEXP '$separated' $conditional ItemDescription REGEXP '$separated'";


I'm still curious about the IN() keyword and how it works.

-Brian


[EMAIL PROTECTED] wrote:
[snip]
I am trying to simplify an SQL query that is pretty much like below:

$sql = "SELECT * FROM table WHERE keyword RLIKE '$expression1' OR keyword RLIKE '$expression2' ";

The different terms '$expression1' and '$expression1' come from  an
array.

Is there any way to within one regular expression to say either term1 or

term 2? Something like this where the OR condition would be basically built into the regular expression:

$sql = "SELECT * FROM table WHERE keyword RLIKE '$expression'";   // the

$expression would have to signify either a or b.

Does that make sense?

[/snip]

Kinda'. If you asked on a SQL board they would say do this;

SELECT * FROM table WHERE keyword IN ($expression1, $expression2)

IN is the shorthand for multiple OR conditions.


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to