使用codeigniter连接两个数据库中的表

时间:2016-04-05 03:48:41

标签: php mysql postgresql codeigniter

要在codeigniter中编写查询,您需要编写类似$this->db->query$someDB->query的内容。但是如果我想从两个不同的数据库连接表怎么办?

我知道我可以通过纯PHP,使用mysqli_connect并编写类似:

之类的东西来实现
SELECT * FROM db1.table1 JOIN db2.table2

但有没有办法使用codeigniter?

3 个答案:

答案 0 :(得分:0)

使用CodeIgniter中的查询方法并传递任何复杂的SQL查询:

$query = $this->db->query("SELECT * FROM dbname1.table t1 JOIN db2.table t2 ON t2.column = t1.column");

foreach ($query->result() as $row)
{
    print_r($row);
}

答案 1 :(得分:-1)

您可以尝试使用我正在使用的项目中使用的功能...请参阅下面的代码...

function join_table()
{
    $this->db->select(//column name, //column name, //column name);
    $this->db->from(//table1 name);
    $this->db->join(//table2 name, //table1 name.//column name = //table2 name.//column name');
    $this->db->where(//condition);
    return $this->db->get()->result();
}

答案 2 :(得分:-1)

这个简单的学生和教师表的连接具有相同的列名,希望你能得到它。

$this->db->select("s.*,t.*");
$this->db->from("student as s");
$this->db->join("teacher as t","s.student_id = t.student_id","both");
$result = $this->db->get()->result_array();
return $result;

你想要单行试试row_array();而不是result_array();