从echo $页面运行php脚本['content']
问题描述:
我需要从ECHO运行PHP脚本。 通常,来自数据库的输出是文本,但有时候也有内部的php代码。 ['content']在我的数据库中被定义为LONGBLOB。 如何让它一起工作?
function data_page ($dbc, $pageid){
$q = "SELECT * FROM page WHERE id = $pageid";
$r = mysqli_query($dbc, $q);
$data = mysqli_fetch_assoc($r);
return $data;
}
$page=data_page($dbc,$pageid);
<?php echo $page['content'];?>
content
可以包含例如该代码<?php echo date('Y');?>
答
我知道PHP将让这种情况发生的原因,为什么不。我只是显示这个,因为是的,它可以完成。你应该考虑一下。您可以轻松从SQL获取信息。我不确定你在数据库中还有什么,但是这在大多数情况下都可以使用。
您需要清理字符串。在现有的块内不能有另一个<?php ?>
块。所以在DB的字符串应该是echo date('Y');
然后在你的代码,你可以调用这个:
<?php
function data_page ($dbc, $pageid){
$q = "SELECT * FROM page WHERE id = $pageid";
$r = mysqli_query($dbc, $q);
$data = mysqli_fetch_assoc($r);
return $data;
}
$page=data_page($dbc,$pageid);
eval($page['content']);
?>
为什么要储存','在数据库 ?为什么不直接在PHP文件中调用需要的地方?或者使用SQL来获取日期。 –
nerdlyist
为什么你在PHP中使用'echo $ page'? ''您已经处于PHP模式。如果我明白这个问题,你只想在文本中回显结果,但是当它是PHP代码时,你想要对结果做什么? – BeetleJuice
'eval('?>'。$ page ['content']);' – AbraCadaver