所以让我说我的变量就像这样:
$q = "DB::select('id')->from('reports')->where('field', '=', 'value');";
现在我该如何删除" "
或做一些可以使其成为可执行查询的内容?
$q = DB::select('id')->from('reports')->where('field', '=', 'value');
顺便说一下,我正在使用kohana框架,但我认为这不重要,因为它是一个简单的PHP代码。
答案 0 :(得分:6)
您可以使用eval
来完成此操作。 Eval被认为是非常有害的,因此请确保在考虑使用eval
之前对所有内容进行消毒。
答案 1 :(得分:1)
$q = "DB::select('id')->from('reports')->where('field', '=', 'value');";
eval('$q = ' . $q);
PS:当你不能100%确定将被评估的内容时,避免使用eval。 eval&之间的levenshtein必须有一个原因。邪恶只有1个!
答案 2 :(得分:1)
使用eval()函数。
eval("$q = " . "DB::select('id')->from('reports')->where('field', '=', 'value');");
答案 3 :(得分:0)
看一下eval()函数: - > http://www.php.net/manual/en/function.eval.php