2013-11-20 35 views
0

我想讀取codeigniter中使用PDO連接現有的sqlite數據庫文件。我的問題實際上是兩個:爲什麼閱讀現有的sqlite數據庫生成一個新的文件

  1. 讀取現有的sqlite數據庫實際上創建一個新的數據庫文件與原來的一個。假設原始的db文件名是a.db,新的將是a.db;dbname=

  2. 隨後的db語句在a.db;dbname=上運行。我試圖運行create table,在這個新的db文件上插入新的值。兩者都運行良好。但是,select語句也不會返回任何錯誤。

我很困惑這一點..請幫助。

更新了相關設置:

// sql 

$this->db->query('create table x (y int)'); 
$this->db->query('insert into x values(6)'); 
$result = $this->db->get('x')->result(); // $result is an empty array 

// config/database.php 

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = 'sqlite:/home/perlwle/db/a.db'; 
$db['default']['username'] = ''; 
$db['default']['password'] = ''; 
$db['default']['database'] = ''; 
$db['default']['dbdriver'] = 'pdo'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 

/home/perlwle/db/a.db是SQLite數據庫文件,並擁有和可寫的www數據。

謝謝。

+1

爲什麼不顯示代碼進行數據庫連接? –

+0

您正在告訴計算機文件名是'a.db; dbname ='。顯示該代碼。用代碼更新了 –

+0

。謝謝。 – perlwle

回答

1

這是CodeIgniter中的bug;你必須更新。

+0

謝謝!忽略了我有舊的CI。 – perlwle

相關問題