這工作:
$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