|
首先我们看一下初始版本的数据库文件application-config-database.php:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
只需简单配置以下几个地方,即可连接数据库:
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
属性如下所示:
属性名 | 属性含义 | hostname | 数据库地址 | username | 用户名称,初始为‘root’ | password | 连接密码,初始为‘root’ | database | 数据库名称 | dbdriver | 数据库类型 | dbprefix | 数据库前缀 | 当连接多个数据库时,可如下操作,删除之前的一维数组,增加二维数组,通过改变二维数组的第一列访问不同的数据库,默认为‘default’,我们可以增加自定义的名称,如‘db2’:
$active_group = 'default';
$query_builder = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = (ENVIRONMENT !== 'production');
$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']['encrypt'] = FALSE;
$db['default']['compress'] = FALSE;
$db['default']['stricton'] = FALSE;
$db['default']['failover'] = array();
$db['default']['save_queries'] = TRUE;
$db['db2']['hostname'] = 'localhost';
$db['db2']['username'] = '';
$db['db2']['password'] = '';
$db['db2']['database'] = '';
$db['db2']['dbdriver'] = 'mysqli';
$db['db2']['dbprefix'] = '';
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = (ENVIRONMENT !== 'production');
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_general_ci';
$db['db2']['swap_pre'] = '';
$db['db2']['encrypt'] = FALSE;
$db['db2']['compress'] = FALSE;
$db['db2']['stricton'] = FALSE;
$db['db2']['failover'] = array();
$db['db2']['save_queries'] = TRUE;
在控制器中声明连接变量‘$db_connect1’,如果连接第二个数据库,可增加变量声明,如‘$db_connect2’:
var $db_connect1;
连接数据库:
$this->db_connect1 = $this->load->database('default', TRUE);
如果连接第二个数据库,如下,需改变连接变量‘db_connect2’和连接库‘db2’:
$this->db_connect2 = $this->load->database('db2', TRUE); |
|