从Database Result执行功能

时间:2015-05-20 18:15:44

标签: php

我正在努力调用数据库中的脚本,如果它们与包含的函数匹配。 就在这里我现在正在使用: 3调用页面内容的功能:

    public function ViewPageDetails() {
        global $db;
        $query = <<<SQL
        SELECT title,body
        FROM inv_pages
        WHERE id = :getid
SQL;
        $resource = $db->db->prepare( $query );
        $resource->execute( array (
        ':getid'    => $_GET['id'],
        ));
        foreach($resource as $row){
            $this->title = $row['title'];
            $this->body = $row['body'];
        }
    }
    public function ViewPageTitle() {
        self::ViewPageDetails();
        return $this->title;
    }
    public function ViewPageBody() {
        self::ViewPageDetails();
            if( is_callable($this->body) )
                        $this->body();
                    else {
                        echo $this->body;
                    }
    }

我认为这样可以调用函数,但会抛出错误:

Fatal error: Call to undefined method pages::body()

现在我所拥有的功能可以在另一方面起作用

public function testcall() {
        global $db;
        $query = <<<SQL
        SELECT body
        FROM inv_pages
        WHERE id = :getid
SQL;
        $resource = $db->db->prepare( $query );
        $resource->execute( array (
        ':getid'    => $_GET['id'],
        ));
        foreach($resource as $row){
        if( is_callable($row['body']) )
                        $row['body']();
                    else {
                        echo $row['body'];
                    }
        }
    }

所以$this->body()是一种非法的方法,但$row['body']()完全没问题。如果有人知道使用$this->body()代替$row['body']()的方式,那么任何输入都会受到赞赏。如果您需要澄清,请询问。我想我把这个问题搞得很好。

0 个答案:

没有答案