这工作:
$functionCode = 'return ($myvar1 == "something") && ($myvar2 != "");';
$newfunc = create_function($functionParamsConcat, $functionCode);
但问题是,funcitonCode是动态的,且布尔表达式里面可以改变(这是从数据库中获取)。 confussing部分是,当我从数据库中检索SAME functionCode并将其分配给变量时,create_function返回的$ newfunc始终为false。
任何想法?谢谢
您确定引文不会被转义吗?更重要的是,你为什么要从数据库中构建函数?如果有人有机会注入SQL,他们可能会造成严重的损失。 –
我尝试使用PHP内置的函数addslashes来转义整个functionCode,失败,$ newfunc总是为false。 (在这种情况下忘记sqlinjection,虽然我感谢您的关注) – mpinvidio