来自Codeigniter中来自不同服务器的两个数据库上的联接操作

时间:2018-09-27 07:12:24

标签: php mysql join codeigniter-3

我在两个不同的服务器上有两个mysql数据库。 我已将数据库实例加载为db和db2。 看下面我的代码:

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Product_model extends CI_Model
{

    function __construct()
    {
        parent::__construct();

    $this->db= $this->load->database('db', true); 
    $this->db2= $this->load->database('db2', true);  
    }

    function jointables()
    {
        $this->db->select('*');
        $this->db->from('adb.items O');
        $this->db2->join('bdb.products P', 'O.ID=P.ID', 'inner');
        $this->db->limit(2,1);
        $query = $this->db->get();

        print_r($query->result_array());

        echo "</br>";
         $this->db2->select('*');
        $this->db2->from('bdb.products');
        $this->db2->limit(2,1);
        $query2 = $this->db2->get();
        print_r($query2->result_array()); exit;

    }
}

在joinables函数中,我试图将内部联接应用于来自db的items表和来自db2的products表。 根据我的理解,当执行开始时,与db相关的所有实例都会在第一部分执行,直到行$query = $this->db->get(); 由于尚未执行与db2有关的查询,因此$this->db2->join('bdb.products P', 'O.ID=P.ID', 'inner');行尚未执行。 因此,我没有得到想要的结果。从行$this->db->select('*');开始执行时,如何确保db2实例的输出对我可用?

0 个答案:

没有答案
相关问题