Как найти параметры в запросе PDO по регулярному выражению в php? - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть SQL-запрос, как показано ниже:

select * from tbl_test where id=:id and name=:name

Теперь я хочу извлечь все переменные из приведенной выше строки.по этой причине я хочу использовать функцию preg_match() в php.но я не знаю, как написать это регулярное исследование.

Кто-нибудь может мне помочь решить эту проблему?

1 Ответ

0 голосов
/ 29 ноября 2018

Использовать шаблон /(\w+)=(:\w+)/, который соответствует строке до и после =

$str = "select * from tbl_test where id=:id and name=:name";
preg_match_all("/(\w+)=(:\w+)/", $str, $m);
print_r($m[2]);

Выход

Array
(
    [0] => :id
    [1] => :name
)

Также вы можете использовать array_combine() для создания массива ключ / значение

$arr = array_combine($m[1], $m[2]);
print_r($arr);

Выход

Array
(
    [id] => :id
    [name] => :name
)

Результат проверки в демо

...