我正在尝试使用PDO连接读取codeigniter中的现有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-data拥有和写入。
感谢。