代码:
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;
}
在这些代码中,我有两个表,即registration and draft_registration
。现在,我在这里做什么,我想在Codeigniter中运行内部联接。现在,当我在phpmyadmin
上点击这个查询时,它显示了错误的数据,即draft_registration
中有两行,registration
表中有一行,但它总是显示两个错误的表,我的查询看起来就像我打印时一样,如下所述:
SELECT *
FROM `registration`
INNER JOIN `draft_registration` ON `registration`.`user_id`= `draft_registration`.`user_id`
WHERE `registration`.`user_id` = '20181121064044'
那么,我该如何解决这个问题?请帮帮我。
谢谢
$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');
指定要选择的列。或者,如果您想选择表中的所有列,您可以使用:
列名上带有"倒钩的SELECT registration.*
使用以下代码
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;
}