У меня есть следующая функция в моей модели для выбора записей в соответствии с идентификатором пользователя в сеансе.
public function getOfficer()
{
$usr = $this->session->userdata('id_user');
$userArray = $this->db->order_by('last_name','ASC')->where_in('tbl_officer.p_code', [8,10,24]);
$userArray1 = $this->db->order_by('last_name','ASC')->get_where('tbl_officer', array('status' => 1, 'usr'=>$this->session->userdata('id_user')));
if($usr == 4){
$this->db->where('p_code',$userArray );
}else{
$this->db->where('usr',$userArray1);
}
$q = $this->db->get('tbl_officer');
if ($q->num_rows() > 0) {
return $q->result();
}
return false;
}
Если пользователь 4 в сеансе, записи должны быть отфильтрованы по p_code [8,10, 24] и любой другой пользователь в сеансе, записи должны быть отфильтрованы в соответствии с usr. Столбец usr содержит идентификаторы пользователей, такие как 1,2,3,4 и c.
Но функция вышла из-за ошибки и не получила ожидаемого результата.
Номер ошибки : 42000/1064
В синтаксисе SQL произошла ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы узнать правильный синтаксис для использования рядом с 'WHERE p_code
=' в строке 2
SELECT * WHERE p_code
=
Имя файла: C: / xampp / htdocs / doahrm / application / models / Officer_model. php
Номер строки: 106
Номер строки 106 равен $q = $this->db->get();
в функции.
Что может быть не так? Кто-нибудь может помочь?