Получение значения поля mysql из публичной функции класса - PullRequest
0 голосов
/ 15 августа 2011

У меня есть открытая функция внутри класса следующим образом

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 Ответ

1 голос
/ 15 августа 2011
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;
    }
}

Попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...