【问题标题】:Error Number: 1066 Not unique table/alias: 'tb_perumahan' in codeigniter错误号:1066 不是唯一的表/别名:codeigniter 中的“tb_perumahan”
【发布时间】:2019-06-01 13:10:49
【问题描述】:

所以我想做一个卖房子的网站,但是当我尝试用过滤器连接两个表时却出现了这个错误......

我尝试交换表,但仍然出错。

$this->db->select('*');
      $this->db->from('tb_rumah');
      $this->db->join('tb_perumahan', 'tb_perumahan.id_perumahan = tb_rumah.id_perumahan');
      $perumahan = $this->db->get_where('tb_perumahan', ['id_perumahan' => $id_rumah])->row_array();

那么,谁能帮我解决这个错误?

【问题讨论】:

    标签: php mysql codeigniter join where


    【解决方案1】:

    通过在join() 之后使用get_where() 方法,您可以从同一个表中选择两次,并为每个表使用相同的名称,我想您不打算这样做。
    尝试将get_where() 方法更改为where() 并更改其参数:

    $this->db->select('*');
    $this->db->from('tb_rumah');
    $this->db->join('tb_perumahan', 'tb_perumahan.id_perumahan = tb_rumah.id_perumahan');
    $perumahan = $this->db->where('tb_perumahan.id_perumahan', $id_rumah)->row_array();
    

    【讨论】:

    • 您不需要在上述代码中的某处使用get() 来访问结果对象吗?例如->where(...)->get()->row_arrray()
    • Alex 是对的,在row_array() 之前没有get() 方法会产生错误
    猜你喜欢
    • 2021-03-08
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 2016-02-14
    相关资源
    最近更新 更多