【问题标题】:Show data record using id in codeigniter在codeigniter中使用id显示数据记录
【发布时间】:2018-06-05 05:09:05
【问题描述】:

我收到此错误消息

where 子句中的列 'id_siswa' 不明确

SELECT * FROM `siswa` `a` 
LEFT JOIN `pembayaran_spp` `b` ON `b`.`id_siswa`=`a`.`id_siswa` 
WHERE `id_siswa` = '7%E2%80%8B'

我有 2 张桌子。

1.table 'siswa' 结构(id_siswa,nama_siswa,id_tahun_masuk)

2.table 'pembayaran_spp'-> 结构(id_pembayaran,id_siswa,jml_pembayaran,id_tahun,日期)

我想通过 id_siswa 显示数据“pembayaran_spp”。 因此,当我单击“siswa”上的详细信息时,id_siswa 会显示数据“pembayaran”。

我的控制器

function detailtagihan($id_siswa)
    {
            $data['siswa'] = $this->M_keuangan->tagihansiswa($id_siswa);

            $this->load->view('template/header');
            $this->load->view('template/sidebar');
            $this->load->view('keuangan/v_detailtagihan',$data);
            $this->load->view('template/footer');

    }

我的模特

function tagihansiswa($id_siswa)
    {
        //$data = array('id_siswa' => $id_siswa );

        $this->db->select('*');
        $this->db->from('siswa a');
        $this->db->join('pembayaran_spp b','b.id_siswa=a.id_siswa', 'left');
        $this->db->where('id_siswa',$id_siswa);

        $query = $this->db->get();
        if($query->num_rows()>0)
            return $query->result();
    }

【问题讨论】:

  • WHERE 'id_siswa' 不明确。它必须是 ab ` WHERE 'a'.'id_siswa'`
  • 嘿,你搞定了吗?
  • where 子句不知道它应该比较哪一列,因为该列存在于两个表中,因此您需要提及列名,表名如下a.id_siswa

标签: php codeigniter-3


【解决方案1】:

您应该在 where 子句中提及要使用列 id_siswa 的表。由于两个表都有同名的列,因此您会收到此错误。

如果你想使用siswa,那么在你的where条件中写a.id_siswa

如果你想使用pembayaran_spp,那么在你的where条件下b.id_siswa

【讨论】:

  • 欢迎您@CaturAnantaPutra。我很乐意提供帮助。请接受答案并投票。非常感谢您。
猜你喜欢
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多