Php 为什么读取现有sqlite数据库会生成新文件

Php 为什么读取现有sqlite数据库会生成新文件,php,sqlite,codeigniter,Php,Sqlite,Codeigniter,我正在尝试使用PDO连接读取codeigniter中现有的sqlite数据库文件。我的问题实际上有两个方面: 读取现有的sqlite数据库实际上会创建一个新的db文件以及原始的db文件。假设原始数据库文件名是a.db,新文件名将是a.db;dbname= 随后的db语句在a.db上运行;dbname=。我已经尝试运行创建表,在这个新的db文件中插入新值。两者都运行良好。但是,select语句不返回任何内容,也不返回任何错误 在这一点上我感到困惑。。请帮忙 已使用相关设置更新: // sql $

我正在尝试使用PDO连接读取codeigniter中现有的sqlite数据库文件。我的问题实际上有两个方面:

  • 读取现有的sqlite数据库实际上会创建一个新的db文件以及原始的db文件。假设原始数据库文件名是
    a.db
    ,新文件名将是
    a.db;dbname=

  • 随后的db语句在
    a.db上运行;dbname=
    。我已经尝试运行创建表,在这个新的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拥有并可写


    谢谢。

    这是一个内置的代码点火器;您必须更新。

    为什么不显示数据库连接的代码?您的操作是告诉计算机文件名是
    a.DB;dbname=
    。显示该代码。使用该代码更新。谢谢