首页 > 解决方案 > 在 CodeIgniter 中使用 MySQL 查询时出现语法错误

问题描述

我有一个 CodeIgniter 查询。

if($this->session->userdata['login_session']['access_role']==5){
   $or_where="tbl_bankdata.b_filestatus=1 AND tbl_payment_invoice.payment_invoice IS NULL OR tbl_payment_invoice.payment_invoice = '' OR tbl_payment_invoice.payment_invoice =2 AND createby='".$this->session->userdata['login_session']['id']."'"; 
}
else{
    $or_where="tbl_bankdata.b_filestatus=1 AND tbl_payment_invoice.payment_invoice IS NULL OR tbl_payment_invoice.payment_invoice = '' OR tbl_payment_invoice.payment_invoice =2";
}

    $result = $this->db->select('*')
                    ->from('tbl_lead')
                    ->join('tbl_bankdata','tbl_lead.c_id=tbl_bankdata.lead_id','LEFT')
                    ->join('tbl_bankname','tbl_bankname.b_id=tbl_bankdata.b_bankname')
                    ->join('tbl_payment_invoice','tbl_bankname.b_id=tbl_payment_invoice.bank_id','LEFT')
                    ->where($or_where)
                    ->order_by('tbl_lead.date_of_created','DESC')
                    ->get()
                    ->result();

我有一个 MySQL 查询。(此 MySQL 查询将显示tbl_payment_invoice表中所有用户的最后一条记录)

SELECT A.* FROM tbl_payment_invoice A INNER JOIN (SELECT bank_id,MAX(payment_invoice_date) AS maxdt FROM tbl_payment_invoice GROUP BY bank_id) B ON A.`bank_id`=B.`bank_id` AND A.`payment_invoice_date`=B.`maxdt`

现在我正在做的是,我必须在这一行中使用 MySQL 查询 ->join('tbl_payment_invoice','tbl_bankname.b_id=tbl_payment_invoice.bank_id','LEFT')

tbl_payment_invoice或者我必须使用上面的 Codeigniter 查询显示上表中的所有记录以及表中所有用户的最后一条记录。

谁能帮我吗?

标签: phpmysqlcodeigniter-3

解决方案


推荐阅读