我正在尝试将模型用户转换为库文件并将其放在系统库中。因为我有多个codeigniter安装。
在我公共函数登录下面的第16行,它说
中的非对象上的成员函数query()<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class User {
private $user_id;
private $username;
public function __construct() {
$CI =& get_instance();
$CI->load->library('session');
$CI->load->library('bcrypt');
$CI->load->database();
}
public function login() {
// Line 16 $user_query = $this->db->query("SELECT * FROM " . $this->input->get('db_prefix') . "user WHERE username = '" . $this->db->escape($username) . "' AND (password = '" . $this->db->escape($password) . "') AND status = '1'");
$result = $this->check_credentials($password);
$this->user_id = $user_query->row['user_id'];
$this->username = $user_query->row['username'];
$user_query = $this->db->get('user');
if($user_query->num_rows == 1) {
return true;
} else {
return false;
}
}
public function check_credentials() {
$user_query = $this->db->get('user');
if ($user_query->num_rows == 1) {
$result = $query->row_array();
if ($this->bcrypt->check_password($password, $result['password'])) {
//We're good
return $result;
} else {
//Wrong password
return array();
}
} else {
return array();
}
}
public function isLogged() {
return $this->user_id;
}
public function getId() {
return $this->user_id;
}
public function getUserName() {
return $this->username;
}
}
答案 0 :(得分:0)
在休息一下并考虑之后我再次尝试@Mehul Jethloja所说的
让它运转
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class User {
private $user_id;
private $username;
public function __construct() {
$this->CI =& get_instance();
$this->CI->load->library('session');
$this->CI->load->library('bcrypt');
$this->CI->load->database();
}
public function login($username, $password) {
$this->CI->db->where('username', $this->CI->input->post('username'), $username);
$this->CI->db->where('password', $this->CI->input->post('password'), $password);
$result = $this->check_credentials($password);
$this->user_id = $user_query->row['user_id'];
$this->username = $user_query->row['username'];
$user_query = $this->CI->db->get('user');
if($user_query->num_rows == 1) {
return true;
} else {
return false;
}
}
public function check_credentials() {
$user_query = $this->CI->db->get('user');
if ($user_query->num_rows == 1) {
$result = $query->row_array();
if ($this->bcrypt->check_password($password, $result['password'])) {
//We're good
return $result;
} else {
//Wrong password
return array();
}
} else {
return array();
}
}
public function isLogged() {
return $this->user_id;
}
public function getId() {
return $this->user_id;
}
public function getUserName() {
return $this->username;
}
}