【问题标题】:connect to db using the db name from the custom config name使用自定义配置名称中的数据库名称连接到数据库
【发布时间】:2018-08-02 11:24:19
【问题描述】:

在我的

应用程序/config/config.php

我有这个自定义配置项

$config['roles_permissions_db'] = 'roles_permissions';

我正在尝试使用

连接到数据库
$CI =& get_instance();
$CI->load->database($CI->config->item('roles_permissions_db'),TRUE);

我已经为“roles_permissions”以及数据库配置(application/config/database.php)建立了数据库连接

$db['roles_permissions']['hostname'] = "localhost";
$db['roles_permissions']['username'] = "root";
$db['roles_permissions']['password'] = "";
$db['roles_permissions']['database'] = "roles_permissions";

但每次我运行时,它都会抛出这个错误

您尚未指定数据库连接

但如果我这样做,

 $CI->load->database('roles_permissions',TRUE);

它有效。有什么想法,请帮忙?

【问题讨论】:

  • 你能确认$this->config->item('roles_permissions_db')的结果吗
  • 是的,我做了 var_dump,它给了我“roles_permissions”
  • 我高度怀疑某处有错别字,您能否使用 Config 库创建变量并加载数据库并直接使用字符串并检查结果。
  • 我正在使用最新的codeigniter,我没有遇到这个问题。您使用的是哪个版本的 codeigniter?
  • 你能检查一下你在数据库配置中设置的活动组吗?

标签: php database codeigniter codeigniter-database


【解决方案1】:

希望下面的内容对你有所帮助....

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'database_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => TRUE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array()
);

有关数据库连接的更多详细信息,请参阅以下文档。 https://www.codeigniter.com/userguide3/database/connecting.html

【讨论】:

    猜你喜欢
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多