2011-05-13 123 views
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