在codeigniter中,当不在对象上下文中时使用$ this

<?php
 class Token {
 private $CI;

 function __construct($param) {
   $this->CI =& get_instance();
   if($param['flag'] == 1) {
     $this->retrieveToken();
     $this->validateToken();
   }
}

public static function getAuthUserToken($empID) {
   $class = $this->CI->db->query('select * from tbl_emp where emp_id ='.$empID);
   $class = $class->result_array();
   print_r($class);
  }
}
?>

I'm creating custom library in codeigniter But, when i try to execute any operation with database.I'm getting above error message

I also loaded database in autoload.php file

$autoload['libraries'] = array('database');

It's your static method getAuthUserToken($empID) that is causing the error.

As it says in the PHP documentation on the keyword Static

Because static methods are callable without an instance of the object created, the pseudo-variable $this is not available inside the method declared as static.