我想讀取codeigniter中使用PDO連接現有的sqlite數據庫文件。我的問題實際上是兩個:爲什麼閱讀現有的sqlite數據庫生成一個新的文件
讀取現有的sqlite數據庫實際上創建一個新的數據庫文件與原來的一個。假設原始的db文件名是
a.db
,新的將是a.db;dbname=
。隨後的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數據。
謝謝。
爲什麼不顯示代碼進行數據庫連接? –
您正在告訴計算機文件名是'a.db; dbname ='。顯示該代碼。用代碼更新了 –
。謝謝。 – perlwle