php - 如何使用存储在数据库中并在新页面中回显的 PHP 代码?
问题描述
我是 PHP 的初学者,所以我需要一点帮助。
我已将一些 PHP 代码存储在 MySQL 数据库中(在表中),现在我尝试在<?PHP echo $result['code'];?>
与数据库成功连接并选择将代码存储在code
柱子。但它不起作用。
如果我在数据库中存储 HTML 或 JavaScript 或任何代码并尝试回显,则内容将按照编程方式显示,如下图所示:
.
但它不适用于 PHP。我该如何解决?
解决方案
我将不得不做一些猜测,并展示一个非常简单的例子,但是像下面这样的东西应该可以工作。
向您的表中添加一
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 if ($result['code_type'] == 'php') { eval($result['code']); } else { echo $result['code']; } ?>
我不能说我曾经使用过它,所以我不能保证任何事情,但希望能为您指明正确的方向。
重要的:
值得注意的是,这不是好的做法,正如PHP 手册页中多次指出的那样。手册本身在几个地方都有注释,但第一条评论很关键:
如果 eval() 是答案,那么您几乎肯定会问错问题。-- Rasmus Lerdorf,PHP 的 BDFL
...在将 php 代码保存到数据库之前解析它可能会好得多,那么您就不必担心这些了!
推荐阅读
- php - working with DateTime object received from doctrine
- asp.net - 我的程序架构有意义吗?AngularJS + ASP.NET Web API + SQL Server
- c++ - SDL 从一个类渲染矩形
- swift - Swift Codable:如何从嵌入数据中创建多个对象
- ruby-on-rails - Rails 邮件程序不发送电子邮件
- php - 试图从命名空间加载类
- css - 如何设置全宽和响应式背景图像
- html - 响应性:div 根据内联 div 调整大小
- javascript - JavaScript 中对 socket.io 的订阅过多
- git - 如何使用命令行更新放置在我的 Github 存储库中的文件