使用Codeigniter从sqlite数据库获取数据时出错
问题描述:
我连接到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
);
任何一个可以建议我?
答
它看起来有数据库配置的一些错误。
可能出现的问题
- 数据库配置问题。
'database' => 'sqlite:'.APPPATH.'/Database/data.db'
,这是错误的。
在CodeIgniter APPPATH
指的是application
目录。
根据您的屏幕截图,您的sqlite数据库不在application
目录中。
- 将
data.db
文件移动到application/database
以内。 - 更新配置
'database' => APPPATH.'/database/data.db'
- 编辑
application/config/autoload.php
并加载数据库库。
希望这能解决您的问题。
答
第一件事尝试检查您的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
);
你加载数据库? –
我正在使用db浏览器for sqlite @ManiKandan Kandan – sradha
我想你需要给数据库的主机名,用户名和密码 –