0

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

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

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

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

4

3 回答 3

0

If you have PHP code in the database that you wish to extract and execute, you need to use eval() to run it.

Take caution with eval as it doesn't perform any checks on the code so if end users can enter code, they can write any malicious code they want. Read over the docs on eval thoroughly before using it if you must. And take note that you must remove the <?php ?> tags from the code before calling eval.

于 2012-07-03T20:10:27.840 回答
0

抱歉,我还不能在评论中回复...

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

<?php eval('?>' . $row_rsLeftColumn['code']); ?>
于 2012-07-03T20:55:34.057 回答
0

它作为字符串从数据库中出来。现在你把它拉出来并告诉它回声。您应该使用 eval() 函数。

<?php eval($row_rsLeftColumn['code']); ?>
于 2012-07-03T20:11:36.253 回答