我在类中有一个公共函数,如下所示
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语句的某个字段。
答案 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;
}
}
试试这个。