Oh, ok this is how i want to do it exactly : ------------ query.php <?php $query = "select * FROM `table` where id='$value' order by name"; ?>
------------ parse.php <?php $fcontents = join('' , file('query.php')); preg_match_all("/^('\$(.*)')/si", $fcontents,$matches); print_r($matches) ?> Thanks "Chris Hayes" <[EMAIL PROTECTED]> a écrit dans le message de news: [EMAIL PROTECTED] > 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 * FROM `table` where 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)) { > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php