从类的公共函数中检索mysql字段的值

时间:2011-08-15 01:07:42

标签: php mysql sql function

我在类中有一个公共函数,如下所示

class View{
public function getVideoTitle($video_id)
    {
        $sql = 'SELECT video_title FROM '.$this->CFG['db']['tbl']['video'].
                ' WHERE video_id='.$this->dbObj->Param('video_id');

        $stmt = $this->dbObj->Prepare($sql);
        $rs = $this->dbObj->Execute($stmt, array($video_id));
            if (!$rs)
                trigger_error($this->dbObj->ErrorNo().' '.$this->dbObj->ErrorMsg(), E_USER_ERROR);

        if($row = $rs->FetchRow())
            return $row['video_title'];             
        return;
    }
}

我可以通过

来回显函数的值
echo View::getVideoTitle(375) //where 375 is the id of the video

我的问题是如何使用相同的函数getVideoTitle()来检索数据库中的其他字段而不仅仅是标题。

如果我确实让我们说$sql = 'SELECT * FROM....我应该在函数中返回什么以及如何使用该函数来回显这个sql语句的某个字段。

1 个答案:

答案 0 :(得分:1)

class View
{
    public function getField($field, $value)
    {
        $sql = 'SELECT '.$field.' FROM '.$this->CFG['db']['tbl']['video'].
            ' WHERE '.$field.' = "'.$value.'");

        $stmt = $this->dbObj->Prepare($sql);
        $rs = $this->dbObj->Execute($stmt, array($video_id));
        if (!$rs)
            trigger_error($this->dbObj->ErrorNo().' '.$this->dbObj->ErrorMsg(), E_USER_ERROR);

        if($row = $rs->FetchRow())
            return $row[$field];
        return;
    }
}

试试这个。