Codeigniter中的内部联接查询

时间:2018-11-22 07:59:08

标签: php mysql codeigniter

代码:

navigate

在此代码中,我有两个表,即public function draft_post($idd) { $this->db->select('*'); $this->db->from('registration'); $this->db->join('draft_registration', 'registration.user_id= draft_registration.user_id','INNER'); $this->db->where('registration.user_id', $idd); $query = $this->db->get(); $result = $query->result_array(); return $result; } 。现在,我在这里做什么我想在Codeigniter中运行内部联接。现在,当我在registration and draft_registration上命中此查询时发生了什么,它显示了错误的数据,即我在phpmyadmin中有两行,在draft_registration表中有一行,但是它总是显示两张表是错误的,我的查询就像下面提到的那样打印:

registration

那么,如何解决此问题?请帮助我。

谢谢

3 个答案:

答案 0 :(得分:0)

$this->db->select('*'); //This code get all rows from both table.If you want a particular row you mention the column name.

For example:
$this->db->select('registration.name,draft_registration.city,draft_registration.state');

答案 1 :(得分:0)

指定要选择的列。或者,如果要选择表的所有列,则可以使用:

SELECT registration.*在列名称上带有反引号``

答案 2 :(得分:0)

使用以下代码

public function draft_post($idd)
{
$this->db->select('registration.*,draft_registration.*');
$this->db->from('registration');
$this->db->join('draft_registration', 'registration.user_id= draft_registration.user_id');
$this->db->where('registration.user_id', $idd);
$query = $this->db->get();
$result = $query->result_array();
return $result;
}

或者您可以使用对象

public function draft_post($idd)
{
$this->db->select('a.*,b.*');
$this->db->from('registration a');
$this->db->join('draft_registration b', 'a.user_id= b.user_id');
$this->db->where('a.user_id', $idd);
$query = $this->db->get();
$result = $query->result_array();
return $result;
}