0

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

如果我手动创建数据库,一切都很好。
如果数据库是不存在的,我不能做任何事情,我也得到了以下错误:

A Database Error Occurred Unable to select the specified database: my_db

Filename: core/Loader.php

Line Number: 232

我跟随dbutil guide
我的代码:

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

按照指导,我让我的数据库驱动程序在应用程序中运行/配置/ autoload.php

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

回答

1

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

什么,你可能会需要做的是设置您的连接设置并退出数据库名称空白

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

,那么你仍然可以自动载入数据库类,然后再加载dbutil类进行检查。在检查和/或创建后,您需要将数据库名称重新放回database.php配置中。

或者,您可以从自动加载中删除数据库类,并将其加载到每个需要的控制器上。然后,在你安装控制器,可以使用根据文档无论是DSN或$配置阵列加载它没有数据库名称:http://www.codeignitor.com/user_guide/database/connecting.html

function index() 
{ 
    $dsn = 'mysql://myuser:[email protected]'; 
    $this->load->database($dsn); 
    $this->load->dbutil(); 
    $db_exists = FALSE; 
    $this->load->dbutil(); 
    if( $this->dbutil->database_exists('my_db')){ 
    $db_exists = TRUE; 
    } 
} 
+0

我甚至没有考虑!感谢一堆:) – AmberKayle 2011-05-16 14:35:02