我正在使用php eval()函数,以下是我的语句:
$uid = 8;
$str = 'SELECT COUNT(*) FROM uchome_blog WHERE uid=$uid';
eval("\$str = \"$str\"");
die("$str");
//$query = $_SGLOBAL['db']->query($str);
//$result = $_SGLOBAL['db']->fetch_array($query);
输出结果为:SELECT COUNT(*) FROM uchome_blog WHERE uid=$uid。 也就是说变量$uid没有传递进来。 如何将一个变量传递到计算后的字符串中。 谢谢。
eval()
语言结构非常危险,因为它允许执行任意的 PHP 代码。因此,不建议使用它。如果您仔细验证后发现没有其他选择而必须使用此结构,请特别注意在没有适当验证之前不要传递任何用户提供的数据给它。 - Burhan Kashour