2013-02-02 52 views
0

我寫了這以下爲我在我的地盤組代碼..致命錯誤:調用一個成員函數取()一個非對象在

public function set_group_id($group_id) 
    { 

     $db2  = & $this->network->db2; 
     /* if($this->id) { 
      return FALSE; 
     } */ 
     if(! $group_id) { 
      return FALSE; 
     } 
     if(! $g = $this->network->get_group_by_id($group_id)) { 
      return FALSE; 
     } 
     if(!$g->is_public && $this->user->id>0 && !$this->user->is_network_admin) { 
      $users = $this->network->get_group_invited_members($g->id); 
      if(!$users || !in_array(intval($this->user->id),$users)) { 
       return FALSE; 
      } 
     } 

     $D->i_am_network_admin = ($this->user->is_logged && $this->user->info->is_network_admin > 0); 
     $D->i_am_admin  = $D->i_am_network_admin; 

     if(!$D->i_am_network_admin) { 
     $D->i_am_admin = $db->fetch('SELECT id FROM groups_admins WHERE group_id="'.$g->id.'" AND user_id="'.$this->user->id.'" LIMIT 1') ? TRUE : FALSE; 
     } 


     if($g->mojaz && !$this->user->i_am_admin ) { 
      return FALSE; 
     } 
     $this->group = $g; 
     $this->to_user = FALSE; 
     return TRUE; 
    } 

我的錯誤在這行...

   $D->i_am_admin = $db->fetch('SELECT id FROM groups_admins WHERE group_id="'.$g->id.'" AND user_id="'.$this->user->id.'" LIMIT 1') ? TRUE : FALSE; 

我想爲網站組創建限制,如果用戶是管理員的網站,他可以發送帖子 或者如果用戶是組的管理員可以發送帖子,否則返回false。

回答

0

在您的錯誤行$ db爲空,因爲$ db尚未在您的函數 set_group_id()中聲明。
我只看到數據庫對象$ DB2

$db2 =& $this->network->db2 

嘗試replase $分貝至$ DB2。如果$ db2包含正確的數據庫對象並處理打開的連接,它將起作用

相關問題