【问题标题】:CodeIgniter dbutil - trouble creating DBCodeIgniter dbutil - 创建数据库时遇到问题
【发布时间】:2011-05-13 18:43:25
【问题描述】:

尝试为我的应用程序进行设置。但是,我无法让它为我创建数据库。

如果我手动创建数据库,一切都很好。
如果数据库不存在,我什么也做不了,我得到以下错误:

发生数据库错误 无法选择指定的数据库:my_db

文件名:core/Loader.php

行号:232

我正在关注dbutil guide
我的代码:

    function index()
    {
      $db_exists = FALSE;
      $this->load->dbutil();
      if(  $this->dbutil->database_exists( 'my_db' ) ){
        $db_exists = TRUE;
      }
    } 

按照指南,我的数据库驱动程序在 application/config/autoload.php 中运行

$autoload['libraries'] = array( 'database', 'datamapper' );

【问题讨论】:

    标签: database codeigniter codeigniter-2 codeigniter-datamapper


    【解决方案1】:

    你的数据库是否已经在 database.php 配置文件中指定了?

    您可能需要做的是设置连接设置并将数据库名称留空

    $db['default']['database'] = '';
    

    然后你仍然可以自动加载数据库类,然后加载 dbutil 类来检查它。检查和/或创建后,您需要在 database.php 配置中重新设置数据库名称。

    或者,您可以从自动加载中删除数据库类并将其加载到所需的每个控制器上。然后,在您的安装程序控制器中,您可以根据文档使用 DSN 或 $config 数组在没有数据库名称的情况下加载它:http://www.codeignitor.com/user_guide/database/connecting.html

    function index()
    {
      $dsn = 'mysql://myuser:mypass@localhost';
      $this->load->database($dsn);
      $this->load->dbutil();
      $db_exists = FALSE;
      $this->load->dbutil();
      if(  $this->dbutil->database_exists( 'my_db' ) ){
        $db_exists = TRUE;
      }
    } 
    

    【讨论】:

    • 我什至没有考虑到这一点!非常感谢:)
    猜你喜欢
    • 2021-10-21
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2019-05-16
    相关资源
    最近更新 更多