亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Codeigniter MySQL 根據會話中的用戶 ID 過濾數據

Codeigniter MySQL 根據會話中的用戶 ID 過濾數據

PHP
達令說 2022-08-19 16:45:06
我的模型中具有以下功能,可以根據會話中的用戶 ID 選擇記錄。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 列包括用戶 ID,如 1,2,3,4 等。但是該函數在錯誤后退出,并且沒有得到預期的結果。錯誤編號:42000/1064您的 SQL 語法中存在錯誤;查看與您的 MariaDB 服務器版本對應的手冊,了解在第 2 行的“WHERE =”附近使用的正確語法p_code選擇 * 其中p_code =文件名:C:/xampp/htdocs/doahrm/application/models/Officer_model.php行號: 106函數中包含第 106 行。$q = $this->db->get();可能出了什么問題?任何人都可以幫忙嗎?
查看完整描述

1 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

根據原始 sql,丟失了:from table_name


SELECT * WHERE `p_code` = ...

所以你失去了你的表:


$q = $this->db->get('table_name');

我認為你的代碼需要看起來像這樣:


public function getOfficer()

{

     $usr = $this->session->userdata('id_user');

     if ($usr == 4) {

         $query = $this->db->order_by('last_name','ASC')->where_in('tbl_officer.p_code', [8,10,24]);

     } else {

         $query = $this->db->order_by('last_name','ASC')

                           ->where(array('status' => 1, 'usr'=>$usr));

     }

     $query = $query->get('tbl_officer');

     if ($query->num_rows() > 0) {

         return $query->result();

     } else {

         return false;

     }

}


查看完整回答
反對 回復 2022-08-19
  • 1 回答
  • 0 關注
  • 94 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號