3

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

2 Answers 2

2

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.

Sign up to request clarification or add additional context in comments.

1 Comment

i would be very thankful if you could vote on my answer too ;]
1

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.