Re: Re: Vars inside an sql query [Regular expression question]
| From: | Chris Hayes | Date: | Thu, 12 Jun 2003 11:53:04 +0000 |
| Subject: | Re: Re: Vars inside an sql query [Regular expression question] | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-151228@lists.php.net to get a copy of this message | ||
At 13:54 12-6-03, you wrote:
I got a headache doing this, i need to get vars inside an sql query. For example : $query = "select * FROMtablewhere id='$value' order by name"; preg_match_all("/^('\$(.*)')/si", $query,$matches);
That doesn't work as the new string already is like "select * FROM table
where id='2' order by name" assuming $value was 2...
True, so try using
$query = "select * FROM table where id='__VALUE__' order by name";
if you insist on doing it this way.
If you decide to keep trying with the $value, you need to know that variables inside "double quotes" are entered on the spot, while not so with 'single quotes'.
Also it is nice to know that the $ has a special position in preg_matching, i kept this mail from a post from december in this list:
such as $, you must escape it twice. For example: $matchme = "\$example"; if (preg_match("/\$example/", $matchme)) { will not be matched because PHP interprets the \$ and passes it as $. Instead, you must do this: if (preg_match("/\\\$example/", $matchme)) {