要在codeigniter中编写查询,您需要编写类似$this->db->query
或$someDB->query
的内容。但是如果我想从两个不同的数据库连接表怎么办?
我知道我可以通过纯PHP,使用mysqli_connect
并编写类似:
SELECT * FROM db1.table1 JOIN db2.table2
但有没有办法使用codeigniter?
答案 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();