来自 SQL 数据库的 PHP 字符串显示为纯文本


PHP string from SQL database shown as plain text

请原谅初学者的问题 - 我正在尝试使用另一个命令从SQL数据库调用PHP命令,但网页将该命令显示为纯文本。

例如,我在页面上的命令是<?php echo $row_rsLeftColumn['code']; ?>的,它会在 SQL 数据库中调用此项:<?php echo '<p>Hello World</p>'; ?> 。但是,即使我可以看到源代码中的行,网页也不会显示"Hello World"——因此,该行已成功从 SQL 数据库中提取,页面只是将其视为纯文本。

当我直接将这一行添加到网页中时,它按预期工作,所以问题似乎不是 PHP 在 Web 服务器上配置错误;而是页面在从 SQL 数据库调用它时无法识别 PHP,即使它直接在页面上识别它。

您能提供的任何帮助将不胜感激。

如果你的

数据库中有你想要提取和执行的PHP代码,你需要使用eval()来运行它。

谨慎使用 eval,因为它不会对代码执行任何检查,因此如果最终用户可以输入代码,他们可以编写所需的任何恶意代码。 如果必须,请在使用之前仔细阅读 eval 上的文档。 请注意,在调用 eval 之前,您必须从代码中删除<?php ?>标签。

它以字符串的形式从数据库中出来。现在你正在把它拉出来,告诉它回声。你应该使用 eval() 函数。

<?php eval($row_rsLeftColumn['code']); ?>

抱歉,我还无法在评论中回复...

eval()需要PHP代码,所以如果你的字符串以HTML开头,你需要在前面加上?>

<?php eval('?>' . $row_rsLeftColumn['code']); ?>