where 子句中的列 'id_member' 不明确
Column 'id_member' in where clause is ambiguous
我的代码有误:
Column 'id_member' in where clause is ambiguous
A Database Error Occurred
Error Number: 1052
Column 'id_member' in where clause is ambiguous
SELECT *, `aa`.`id_member` FROM `tb_permohonan` `aa` LEFT JOIN `tb_member` `bb` ON `aa`.`id_member`=`bb`.`id_member` LEFT JOIN `tb_jenis_uttp` `cc` ON `aa`.`id_jenis_uttp` =`cc`.`id_jenis_uttp` WHERE `id_member` = '1'
Filename: C:/xampp/htdocs/web/system/database/DB_driver.php
Line Number: 691
这是我的控制器:
public function v_print_surat()
{
$start = intval($this->input->get('start'));
$id = $this->session->userdata('id_member');
$data_where = array('id_member', $id);
$print = $this->Tb_permohonan_model->get_by_where($data_where);
if ($print) {
$data = array(
'print' => $print,
'start' => $start,
'content' => "frontend/v_print_surat",
);
$this->load->view('layout/frontend', $data);
} else {
$this->session->set_flashdata('message', 'Record Not Found');
redirect(site_url('frontend'));
}
}
这是我的模型:
function get_by_where($data)
{
$this->db->select("*, aa.id_member");
$this->db->where($data[0], $data[1]);
$this->db->join('tb_member bb','aa.id_member=bb.id_member','left');
$this->db->join('tb_jenis_uttp cc','aa.id_jenis_uttp =cc.id_jenis_uttp','left');
return $this->db->get($this->table." aa")->result();
}
有人能帮忙吗?
为了防止出现歧义列,您应该使 "where" 子句更加具体。由于您将 $this->table
别名为 aa
,您可以更改:
$this->db->where($data[0], $data[1]);
到
$this->db->where('aa.' . $data[0], $data[1]);
我的代码有误:
Column 'id_member' in where clause is ambiguous
A Database Error Occurred
Error Number: 1052
Column 'id_member' in where clause is ambiguous
SELECT *, `aa`.`id_member` FROM `tb_permohonan` `aa` LEFT JOIN `tb_member` `bb` ON `aa`.`id_member`=`bb`.`id_member` LEFT JOIN `tb_jenis_uttp` `cc` ON `aa`.`id_jenis_uttp` =`cc`.`id_jenis_uttp` WHERE `id_member` = '1'
Filename: C:/xampp/htdocs/web/system/database/DB_driver.php
Line Number: 691
这是我的控制器:
public function v_print_surat()
{
$start = intval($this->input->get('start'));
$id = $this->session->userdata('id_member');
$data_where = array('id_member', $id);
$print = $this->Tb_permohonan_model->get_by_where($data_where);
if ($print) {
$data = array(
'print' => $print,
'start' => $start,
'content' => "frontend/v_print_surat",
);
$this->load->view('layout/frontend', $data);
} else {
$this->session->set_flashdata('message', 'Record Not Found');
redirect(site_url('frontend'));
}
}
这是我的模型:
function get_by_where($data)
{
$this->db->select("*, aa.id_member");
$this->db->where($data[0], $data[1]);
$this->db->join('tb_member bb','aa.id_member=bb.id_member','left');
$this->db->join('tb_jenis_uttp cc','aa.id_jenis_uttp =cc.id_jenis_uttp','left');
return $this->db->get($this->table." aa")->result();
}
有人能帮忙吗?
为了防止出现歧义列,您应该使 "where" 子句更加具体。由于您将 $this->table
别名为 aa
,您可以更改:
$this->db->where($data[0], $data[1]);
到
$this->db->where('aa.' . $data[0], $data[1]);