我们可以在Codeigniter的同一个视图中使用两个数据库吗? [英] Can we use two database in same view in Codeigniter?

查看:127
本文介绍了我们可以在Codeigniter的同一个视图中使用两个数据库吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要从两个不同的数据库访问数据。

I want to access data from two different database.

我要将两个数据库的记录打印到同一视图中。

I want to print the records from two database into same view.

现在我的第一个查询来自另一个数据库,第二个查询来自默认数据库。所以我得到一个错误,SecondDatabase.tablenmae不存在,实际上表是在默认数据库

Now my first query is from the another database then the second query is from default database. So I get an error that SecondDatabase.tablenmae doesn't exist and actually the table is in default database

所以我定义他们这样:

$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'biz_prov';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

$db['bizlms']['hostname'] = 'localhost';
$db['bizlms']['username'] = 'root';
$db['bizlms']['password'] = '';
$db['bizlms']['database'] = 'bizlms';
$db['bizlms']['dbdriver'] = 'mysql';
$db['bizlms']['dbprefix'] = '';
$db['bizlms']['pconnect'] = FALSE;
$db['bizlms']['db_debug'] = TRUE;
$db['bizlms']['cache_on'] = TRUE;
$db['bizlms']['cachedir'] = '';
$db['bizlms']['char_set'] = 'utf8';
$db['bizlms']['dbcollat'] = 'utf8_general_ci';
$db['bizlms']['swap_pre'] = '';
$db['bizlms']['autoinit'] = TRUE;
$db['bizlms']['stricton'] = TRUE;



现在在我的视图中,我有一个从默认数据库获取数据的行。

Now In My View I have a row in which I fetch data from default database.

然后在第二行我想从另一个数据库的数据,所以,我加载数据库:

And then in second row I want data from another database so, I load that database:

$this->db = $this->load->database('bizlms', TRUE);

但是对于我从默认数据库获取数据的第一行我收到一个错误: p>

But I for my first row where I fetch data from the default database I get an error:


表bizlms.tablname不存在

Table bizlms.tablname doesn't exist

如何在同一视图上使用两个数据库?

How to use both database on same view?

推荐答案

尝试这样,将db名称保存在一个变量中, fetch the data:

Try like this, keep db name in one variable and use that variable to fetch the data:

<?php 
$dsn1 = 'mysql://root@localhost/biz_prov'; 
$db1 = $this->load->database($dsn1, true); 
$user_table = $this->session->userdata('user_table'); 
$db1->select($user_table.'.id,display_name,ext,email,auth_user,base_ini_filename,base_ini_id,custom_ini_filename,uc_user,uc_password'); 
$db1->where($user_table.'.site_key',$site_item); 
$db1->join('base_ini','base_ini.id ='.$user_table.'.base_ini_id'); 
$db1->from($user_table); 
$query = $db1->get(); 
$result = $query->result_array(); 
?>

这篇关于我们可以在Codeigniter的同一个视图中使用两个数据库吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆