views:

39

answers:

2

I have a variable $word and I'd like to match it in my select statement somethig like this: "select * from table where column regex '[0-9]$word'" but this doesnt work, so how can i put a variable in a regular exprssion?

Thank you

A: 

You could try using preg_quote() to escape your string:

$sql = "select * from table where column regexp '[0-9]" . preg_quote($word) . "'";

There will be some issues because MySQL (assuming this is your DB) may have a completely different idea of which characters are special than PCRE.

pix0r
+1  A: 

You must only put it correctly in SQL query, for example:

mysql_query("SELECT * FROM table WHERE column REGEXP 'prefix_".$word."'");

But you need to remember that the variable data needs to be properly escaped, i think that addslashes() would be enough.

Tomasz Kowalczyk
Thanks this solved it =).
kingsley
i would be very thankful if you could vote on my answer too ;]
Tomasz Kowalczyk