如何在数据库中保存php代码

如何在数据库中保存php代码,php,database,eval,Php,Database,Eval,目前我正在做一个项目,其中我必须在数据库中保存一些PHP代码,我正在用PHP标记保存代码 但我不知道如何检索存储在数据库中的代码 我尝试过以下方法: a) 直接检索:当我直接检索数据库时,$row['code']的值为空 b) 使用eval():当我使用eval()时,我得到语法错误: 语法错误,意外“将任何非字母数字字符转换为HTML等效字符(即空格转换为),然后将其存储在数据库中。然后您的查询就可以直接在视图中使用它了。高亮显示\u字符串工作正常 $str=highlight_strin

目前我正在做一个项目,其中我必须在数据库中保存
一些PHP代码
,我正在用
PHP标记保存代码

但我不知道如何检索存储在数据库中的代码

我尝试过以下方法:

a) 直接检索:当我直接检索数据库时,$row['code']的值为空

b) 使用eval():当我使用eval()时,我得到语法错误:


语法错误,意外“将任何非字母数字字符转换为HTML等效字符(即空格转换为),然后将其存储在数据库中。然后您的查询就可以直接在视图中使用它了。

高亮显示\u字符串工作正常

  $str=highlight_string('<?php
   echo "hello";
  ?>',true);
  echo $str;
$str=突出显示字符串(“”,true);
echo$str;

如果您真的想这样做,您可以按照方法c)的建议使用:

$var // your variable with the data from the DB
<?php echo eval("?>". $var ."<?") ?>
$var//使用数据库中的数据创建变量
有许多合法的使用案例,您可能希望将PHP命令存储在数据库中,我个人认为,在不知道具体情况的情况下大喊“Don do it”是没有帮助的

无论如何,正如已经在各种线程中指出的那样,使用这种方法存在安全问题和其他陷阱,我建议不要这样做。这将使调试更加困难,并增加潜在的安全漏洞,等等

阅读一篇又一篇文章,了解更多有关使用eval()的陷阱的信息

但我不知道如何检索存储在数据库中的代码


好吧,如果你不能做到这一点,请问一个数据库问题(请在你学习了PHP和数据库编程课程之后)。因为除非这样做有效,否则其余的事情就完全不同了。

坏主意,请不要告诉我,我现在明白他的意思了。它基本上是一个像copepad.yep Dave Chen这样的代码共享网站,与JSFIDDLE的代码板一模一样,您的数据库是什么样子的?列
code
为空很奇怪。
我想打印echo“hello”,但它正在打印“hello”
那么你应该在其上使用
突出显示字符串
。同意,你可能想使用htmlentities函数抱歉尝试放置
nbsp但显示为实际空白。但是你有一个想法,主要的问题是我如何从中检索php代码database@lord_linus从数据库中取出后,使用mysql\u real\u escape\u字符串和stripslashes保存到数据库中……此外,不理解PHP语法,并且第一次应用
eval
失败,应该会让人感觉到自己足够了解在接下来的几年里不要再谈论这个问题,直到完全确定它是如何工作的。