Codeigniter:动态更改数据库的参数

时间:2015-08-21 13:49:25

标签: codeigniter

我们可以动态更改主机名,用户名,密码和数据库之类的参数,或者我们必须转到database.php进行更改。

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '****';
$db['default']['database'] = 'database';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';

是否有可能动态更改它们?

1 个答案:

答案 0 :(得分:1)

我觉得这样的东西可以在模型或库中使用。

$dynamic = array(
  'hostname' => 'localhost',
  'username' => 'root',
  'password' => '*****',
  'database' => 'database'
);
$test['hostname'] = $dynamic['hostname'];
$test['username'] = $dynamic['username'];
$test['password'] = $dynamic['password'];
$test['database'] = $dynamic['database'];
$test['dbdriver'] = 'mysqli';
$test['dbprefix'] = '';
$test['pconnect'] = FALSE;
$test['db_debug'] = TRUE;
$test['cache_on'] = FALSE;
$test['cachedir'] = '';
$test['char_set'] = 'utf8';
$test['dbcollat'] = 'utf8_general_ci';

$test_db = $this->load->database($test, true);

然后你会像这样访问这个数据库;

$test_db->get('users');

您打算从哪里获取$dynamic设置?