我连接到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
);
任何人都可以建议我吗?
答案 0 :(得分:0)
看起来数据库配置有一些错误。
可能出现的问题
'database' => 'sqlite:'.APPPATH.'/Database/data.db'
,这是错误的。
在CodeIgniter APPPATH
中引用application
目录。
根据您的屏幕截图,您的sqlite数据库位于application
目录之外。
data.db
文件移到application/database
。'database' => APPPATH.'/database/data.db'
application/config/autoload.php
并加载数据库。希望这能解决您的问题。
答案 1 :(得分: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
);