【问题标题】:Codeigniter 3 with SQLite 3: no such table带有 SQLite 3 的 Codeigniter 3:没有这样的表
【发布时间】:2017-11-11 13:59:51
【问题描述】:

当我开始使用 sqlite3 数据库时,我的 codeigniter 3 应用程序中总是出现以下错误。

SQLite3::query(): Unable to prepare statement: 1, no such table: pages

我在某处读到,当您的数据库路径错误时就是这种情况。我的数据库位于application/db/pages.sqlite

这是 sqlite 数据库的配置:

$db['pages'] = array(
    'dsn'   => '',
    'hostname' => '',
    'username' => '',
    'password' => '',
    'database' => APPPATH.'db/pages.sqlite',
    'dbdriver' => 'sqlite3',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

我做错了什么?

【问题讨论】:

    标签: php codeigniter sqlite codeigniter-3


    【解决方案1】:

    试试这个,它以前对我有用

    'database' => 'sqlite:'.APPPATH.'db/pages.sqlite',
    

    还要确保文件夹 db 可以被您的应用读取。

    【讨论】:

    • 这样做只会给我另一个错误:Unable to connect to your database server using the provided settings. 我想这更有意义,但仍然不是。我还将数据库设置为0777 进行测试,但没有帮助。还有什么想法吗?
    【解决方案2】:

    首先你需要检查你的 web 服务器上是否安装了 sqlite3 php 模块? 这将需要使用 Codeigniter3 sqlite3 db 驱动程序。

    如果它不起作用,则提供“dsn”字符串。这肯定会奏效。

    【讨论】:

      【解决方案3】:

      首先尝试检查您的 php.ini 并取消注释

      extension=php_pdo_sqlite.dll
      extension=php_sqlite3.dll
      


      试试这个

      $db['default'] = array(
          'dsn'   => 'sqlite:application/db/pages.sqlite',
          'hostname' => 'localhost',
          'username' => '',
          'password' => '',
          'database' => '',
          'dbdriver' => 'pdo',
          'dbprefix' => '',
          'pconnect' => FALSE,
          'db_debug' => (ENVIRONMENT !== 'production'),
          'cache_on' => FALSE,
          'cachedir' => '',
          'char_set' => 'utf8',
          'dbcollat' => 'utf8_general_ci',
          'swap_pre' => '',
          'encrypt' => FALSE,
          'compress' => FALSE,
          'stricton' => FALSE,
          'failover' => array(),
          'save_queries' => TRUE
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-30
        • 2012-10-16
        • 2013-03-07
        • 2020-01-02
        • 2015-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多