2017-04-18 98 views
0

我连接到sqlite数据库并试图从表中获取数据。使用Codeigniter从sqlite数据库获取数据时出错

但其示出了某些错误,

致命错误:调用一个成员函数lastErrorCode()中d的非对象:\ XAMPP \ htdocs中\电子圣训\ SYSTEM \数据库\驱动\ sqlite3的\上线遇到300 甲PHP错误

严重性sqlite3_driver.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 
); 

任何一个可以建议我?

enter image description here

+0

你加载数据库? –

+0

我正在使用db浏览器for sqlite @ManiKandan Kandan – sradha

+0

我想你需要给数据库的主机名,用户名和密码 –

回答

0

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

可能出现的问题

  1. 数据库配置问题。

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

在CodeIgniter APPPATH指的是application目录。

根据您的屏幕截图,您的sqlite数据库不在application目录中。

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

希望这能解决您的问题。

+0

它不能正常工作 – sradha

+0

在echo $ this-> db-> last_query()之后放置1 exit。 –

+0

同样的错误............ – sradha

0

第一件事尝试检查您的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 
);