2015-08-25 33 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

很高興它的工作! –