我是PHP的初学者,所以我需要一些帮助。
我已将一些PHP代码存储在MySQL数据库(在表中)中,现在在与数据库成功连接并选择正确的数据库之后,我试图在另一个PHP页面(<?PHP echo $result['code'];?>
)中回显我将代码存储在code
列中的表。但这不起作用。
如果我将HTML或JavaScript或任何代码存储在数据库中并尝试回显,则内容将按编程方式显示,如该图所示:
。
但是它不适用于PHP。我该如何解决?
答案 0 :(得分:1)
我将不得不做一些猜测,并显示一个非常简单的示例,但是类似以下的内容应该可以工作。
在表中添加一个code_type
列,其值为html, php 等。
确保已测试数据库中存储的所有php代码并返回一些输出(不使用<?php
标记)。例如:
$var1 = 100;
$var2 = 10;
$var3 = 1;
echo "<h1> The equation of ($var1*$var2+$var3) equals</h1>";
echo "<p>".($var1*$var2+$var3)."</p>";
在数据输出脚本中使用code_type
来评估PHP代码或在其他所有情况下仅回显PHP代码:
<?php
if ($result['code_type'] == 'php') {
eval($result['code']);
} else {
echo $result['code'];
}
?>
我不能说我曾经使用过它,所以我不能保证任何事情,但希望能为您指明正确的方向。
重要提示:
值得注意的是,PHP Manual page中多次指出,这不是一种好的做法。手册本身在多个地方都有说明,但第一个注释是关键的:
如果eval()是答案,那么您几乎肯定会问错 题。 -Rasmus Lerdorf,PHP的BDFL
...在将php代码保存到数据库之前,解析一下php代码可能会好很多,那么您就不必担心其中的任何一个了!