PHP CODE需要运行保存在数据库中

时间:2012-02-19 11:56:37

标签: php eval

我在数据库中保存了打击代码

<script type="text/javascript" src="$url/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="$url/js/ui.selectmenu.js"></script>

我想从数据库中获取此代码,然后将其分配给变量,然后我想使用上面在我的代码中定义的$ url。

所以这是场景

$ url在文件example.php中定义foreg $ url ='http:// localhost';

从数据库中获取一段代码(上面的代码)

将它分配给变量foreg $ content =(mysql的代码获取在这里)

最后$ content应包含

<script type="text/javascript" src="http://localhost/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://localhost/js/ui.selectmenu.js"></script>

这段代码只是一个示例代码,我的代码完全不同,但场景有点相同。任何人都可以请求帮助。

P.S我的代码可以包含url()(我在另一个文件中创建的自定义函数。)

2 个答案:

答案 0 :(得分:2)

$content = str_replace('$url', 'http://localhost', $content);

答案 1 :(得分:2)

你可以这样做:

$result = mysql_query("SELECT code FROM MyCodeTable WHERE MyColumn = 'something'");

if ($result && mysql_num_rows($result) > 0) {
    $row = mysql_fetch_object($result);

    $content = str_replace('$url', $url, $row->code);
}

注意:理想情况下,您不会像这样从MySQL获取数据,而是使用其他方法,例如PDO。另外,就像他的例子中说明的Seagull一样,使用str_replace是一种更安全的方法,而不是eval,因为你不应该信任你存储在数据库中的数据。