0

我有这个字符串 ($query) 从 preg_replace 返回

'SELECT ({$array["sum"]}/ 5)'

我该如何评估它,以便结果'SELECT (100/5)'例如!

我试过

eval($query)

但是没有成功!

你有更好的主意吗?

4

3 回答 3

1

只需将单引号替换为'双引号即可"

"SELECT ({$array["sum"]}/ 5)"

在用户输入eval()期间或同时使用它不是一个好主意。$_POST只是一个建议。

于 2012-10-06T13:30:40.857 回答
1

你没有使用 eval 权利:

$evaluated = eval("return $query;");

注意你没有任何语法错误。当您以这种方式构建 SQL 查询时,您也可能会做错。只是说,我希望你够老。

于 2012-10-06T13:42:59.633 回答
0

只需将它们与操作员粘合在一起即可.

$array['sum'] = 100;
echo 'SELECT (' . $array['sum' ] . ' / 5)';

将导致:

SELECT (100 / 5)
于 2012-10-06T13:35:37.677 回答