【问题标题】:error when fetching data from sqlite db using Codeigniter使用 Codeigniter 从 sqlite db 获取数据时出错
【发布时间】:2017-09-14 07:49:06
【问题描述】:

我连接到 sqlite db 并尝试从表中获取数据。

但它显示了一些错误,

致命错误:在第 300 行对 D:\xampp\htdocs\e-hadith\system\database\drivers\sqlite3\sqlite3_driver.php 中的非对象调用成员函数 lastErrorCode() 遇到 PHP 错误

严重性:错误

消息:在非对象上调用成员函数 lastErrorCode()

文件名:sqlite3/sqlite3_driver.php

行号:300

回溯:

下面是我的代码

{
         $this->db->select("*");
         $q=$this->db->get("chapter");
         $r=$q->result();
         echo "<pre>";print_r($r);exit;


        $this->load->view('welcome_message');
    }
$db['default'] = array(
    'dsn'   => '',
    'hostname' => '',
    'username' => '',
    'password' => '',
    'database' => 'sqlite:'.APPPATH.'/Database/data.db',
    'dbdriver' => 'sqlite3',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => FALSE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

谁能推荐我?

【问题讨论】:

  • 你加载数据库了吗?
  • 我正在使用 db browser for sqlite @ManiKandan Kandan
  • 我猜你需要提供数据库的主机名、用户名和密码

标签: php codeigniter sqlite


【解决方案1】:

看起来数据库配置有一些错误。

可能的问题

  1. 数据库配置问题。

'database' =&gt; 'sqlite:'.APPPATH.'/Database/data.db',这是错误的。

在 CodeIgniter 中APPPATH 指的是application 目录。

根据您的屏幕截图,您的 sqlite 数据库位于 application 目录之外。

  1. data.db 文件移动到application/database 中。
  2. 更新配置'database' =&gt; APPPATH.'/database/data.db'
  3. 编辑application/config/autoload.php并加载数据库库。

希望这能解决您的问题。

【讨论】:

  • 在 echo $this->db->last_query() 后放 1 个出口;
  • 我已经用另一种查询方式更新了答案。我可以猜到名为chapter 的表在数据库中不存在,或者您连接到错误的数据库。
  • 数据库配置是什么?
  • 我已经给出了database.php的代码,你能检查一下吗?
【解决方案2】:

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

extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll

试试这个

// in the dsn put sqlite:your/path/to/Database
$db['default'] = array(
    'dsn'   => 'sqlite:application/Database/data.db',
    '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
);

【讨论】:

    猜你喜欢
    • 2018-02-24
    • 2014-12-25
    • 2012-09-21
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    相关资源
    最近更新 更多