2015-08-25 38 views
0

我有一个要求,我有一些条件保存在数据库中。我能够通过我的PHP代码提供这些条件,但是我无法执行它们。我已经在下面显示了一个例子。在PHP中执行一个字符串

<? 

$z = ">100";//I get this value from the DB 
$x = 80; // This value also comes from DB 

if(exec("&1 &2",$x,$z)) 
    echo "Yes"; 
else 
    echo "No"; 
?> 

还试图这

<? 

$z = ">100"; 
$x = 80; 
if(eval("$x $z")) 
    echo "Yes"; 
else 
    echo "No"; 
?> 
+2

['EXEC()'](HTTP:// PHP。 net/exec)是用于shell命令的。 ['eval()'](http://php.net/eval)运行动态代码。 – mario

+1

不是一个巨魔,但请记住,“如果eval()是答案,那么你几乎肯定会问错误的问题。” - Rasmus Lerdorf,BDFL of PHP –

+0

当你尝试第二块代码时会发生什么? – Alfabravo

回答

1

它应该是,(eval只接受语句,而不是表达式)

$z = ">100";//I get this value from the DB 
$x = 80; // This value also comes from DB 


if(eval("return {$x} {$z};")) 
    echo "Yes"; 
else 
    echo "No"; 
?> 
+0

真棒..它运作良好。谢谢。 –

+0

很高兴它的工作! –