从MySQL中调用PHP函数

时间:2015-05-07 19:24:57

标签: php mysql

我甚至不确定这是否可行,但基本上我想在我的MySQL数据库中存储一个函数,所以这里有我的数据库

Database->pages:
[id] [name ] [content ] [enabled] [main] [parent]
[6 ] [login] [login();] [1      ] [0   ] [5     ]

现在我将恢复设置

public function viewPage() {
        global $db;
        $query = <<<SQL
        SELECT content
        FROM pages
        WHERE id = :getid
SQL;
       $resource = $db->sitedb->prepare( $query );
       $resource->execute( array (
       ':getid'    =>   $_GET['id'],
       ));
       foreach($resource as $row){
               echo $row['content'];
       }
}

最后但并非最不重要的是我的viewPage.php页面有

$static->viewPage(); 

所以当我去viewPage.php?id = 6时我想要它来提取数据,因为内容是login();我希望它调用login();将被翻译成包含文件的函数。这甚至可能吗?

1 个答案:

答案 0 :(得分:5)

您可以使用variable functions来达到此效果。我们需要事先验证函数is_callable

我们假设我们将字段name设置为login后退一行。你可以这样做:

if( is_callable($row['name']) )
    $row['name']();

这将调用函数login。如果需要,您也可以传递参数,就像任何其他函数一样。