2017-04-13 42 views
0
class Event extends DB_CONNECTION { 

    private $EVNT_ID; 
    private $Organizer; 
    private $name; 
    private $venue; 
    private $discription; 
    private $picture; 
    private $Address; 
    private $start_datetime; 
    private $end_datetime; 
    private $category; 
    private $topic; 
    private $Ticket; 
    private $Sponsor; 
    private $Special_guest; 
    private $active; 

    function __construct(Organizer $org) { 
     $this->Organizer = $org; 
     $this->Ticket = Ticket::get_tickets($this); 
     $this->Sponsor = new Sponsor($this); 
     parent::__construct(); 

    } 
} 


public function fetch_events() { 

    $sql = "SELECT * "; 
    $sql .= "FROM `event` "; 
    $sql .= " ORDER BY `EVNT_ID` DESC LIMIT 21 "; 

    $this->data_set = self::query($sql); 
    $this->data_set->setFetchMode(PDO::FETCH_CLASS, 'Event'); 

    $events = $this->data_set->fetchAll(); 
    return (isset($events)) ? $events : false; 

} 

这是我的事件类的构造函数旁路PDO构造函数获取参数错误

目前正在开发使用PHP和PDO为数据库连接事件管理系统。

我选择PDO为它取模式选项,以初始化SQL查询对象。但得到一个构造函数错误。

因为PDO取出由该类数据时发出"cannot recreate __construct "错误,我不能用我的构造函数的参数。

是否有办法绕过这个?或者我应该改变我的类的结构和使用init()函数来初始化我的对象,而不是使用__constructor的?

+0

什么确切的角色扮演PDO这里,你有什么整体的设计或者什么行代码触发错误目前尚不清楚。您能否编辑该问题并分享重现该问题的有效代码? –

回答

0

不要延长DB连接类。 创建一个实例,并把它作为一个构造函数参数,而不是

+0

你能告诉我原因,有没有副作用或者什么...对不起,我是新手 –