从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');?>

+0

为什么要储存','在数据库 ?为什么不直接在PHP文件中调用需要的地方?或者使用SQL来获取日期。 – nerdlyist

+0

为什么你在PHP中使用'echo $ page'? ''您已经处于PHP模式。如果我明白这个问题,你只想在文本中回显结果,但是当它是PHP代码时,你想要对结果做什么? – BeetleJuice

+0

'eval('?>'。$ page ['content']);' – AbraCadaver

我知道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']); 

?>