从其他数据库codeigniter中选择表

时间:2014-04-30 01:30:54

标签: php sql codeigniter

如何制作此功能

public function get_all_summary($year_dummy){
    $current_year = $this->session->userdata('curr_year');  
    $new_db = $this->load->database('budget_db', TRUE);

    $q = "select * from budget where sy=$current_year
    AND sy_dummy=$year_dummy";
    $query = $new_db->query($q);
    return $query->result();}

有点像这样。

public function get_all_summary($year_dummy){
    $current_year = $this->session->userdata('curr_year');  
    $new_db = $this->load->database('budget_db', TRUE);

    $this->db->select('*');
    $this->db->from('budget');
    $this->db->where("sy",$current_year);
    $this->db->where("sy_dummy",$year_dummy);
    $query = $this->db->get();
    return $query->result();}

顶部函数是正确的但底部函数显然是错误的(我不知道如何从其他数据库中选择表)。我也连接到其他数据库,我从其他数据库(budget_db)中选择表。

希望你能理解我的问题。

2 个答案:

答案 0 :(得分:0)

我认为你只需要使用$new_db这是budget_db的实例。

public function get_all_summary($year_dummy){
    $current_year = $this->session->userdata('curr_year');  
    $new_db = $this->load->database('budget_db', TRUE);

    $new_db->select('*');
    $new_db->from('budget');
    $new_db->where("sy",$current_year);
    $new_db->where("sy_dummy",$year_dummy);
    $query = $new_db->get();

    return $query->result();
}

希望这可能对你有用。

答案 1 :(得分:0)

据说,' budget_db'是您尝试连接的另一个数据库,请确保它在数据库配置中定义了自己的组。否则,您可以使用

连接到它
public function get_all_summary($year_dummy){
    $current_year = $this->session->userdata('curr_year');
    $config['hostname'] = "hostname";
    $config['username'] = "db_user";
    $config['password'] = "db_pass";
    $config['database'] = "budget_db";
    $config['dbdriver'] = "mysql";
    $new_db = $this->load->database($config, TRUE);

    $new_db->select('*');
    $new_db->from('budget');
    $new_db->where("sy", $current_year);
    $new_db->where("sy_dummy", $year_dummy);
    $query = $new_db->get();

    return $query->result();
}

通过将参数TRUE添加到load database方法,$ new_db成为budget_db的数据库对象。