【发布时间】:2019-01-17 06:06:43
【问题描述】:
我无法找到一些正则表达式来将多个 php 变量匹配到一个字符串中
下面是一个例子:
$var = "SELECT * FROM table WHERE admin='".$admin."' AND id=".$idclient." AND something=".$something;
所以实际上我需要匹配整个查询字符串并只替换变量,其中包含一个带有变量的函数()。
我需要的最终结果应该是这样的:
$var = "SELECT * FROM table WHERE admin='".functionname($admin)."' AND id=".functionname($idclient)." AND something=".functionname($something);
【问题讨论】:
-
警告:尽可能使用prepared statements来避免在查询中注入任意数据并创建SQL injection bugs。在
mysqli和PDO 中执行这些操作非常简单,其中任何用户提供的数据都使用?或:name指示符指定,稍后使用bind_param或execute填充,具体取决于您是哪个使用。 -
不要把这些东西放在一个字符串里。将它们放入一个数组中,然后使用
array_map重写数组的内容。
标签: php mysql regex variables replace