- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我刚刚设置了 CI 以通过 PDO 使用 sqlite,一切都很顺利。 (我可以查询 sqlite 数据库,一切正常。)
现在遇到问题,我设置:
$config['sess_use_database'] = TRUE;
问题出现了:
Fatal error: Call to a member function execute() on a non-object in C:\wamp\www\CI\system\database\drivers\pdo\pdo_driver.php on line 193
Call Stack
# Time Memory Function Location
1 0.0030 151392 {main}( ) ..\index.php:0
2 0.0109 187664 require_once( 'C:\wamp\www\CI\system\core\CodeIgniter.php' ) ..\index.php:202
3 0.0885 669544 Login->__construct( ) ..\CodeIgniter.php:308
4 0.0885 669600 CI_Controller->__construct( ) ..\login.php:7
5 0.0986 793008 CI_Loader->initialize( ) ..\Controller.php:51
6 0.0986 792984 CI_Loader->_ci_autoloader( ) ..\Loader.php:152
7 0.1362 1331192 CI_Loader->library( ) ..\Loader.php:1178
8 0.1363 1331304 CI_Loader->_ci_load_class( ) ..\Loader.php:216
9 0.1445 1412936 CI_Loader->_ci_init_class( ) ..\Loader.php:975
10 0.1462 1414368 CI_Session->__construct( ) ..\Loader.php:1099
11 0.1601 1483408 CI_Session->sess_read( ) ..\Session.php:106
12 0.1731 1486592 CI_DB_active_record->get( ) ..\Session.php:213
13 0.1735 1487800 CI_DB_driver->query( ) ..\DB_active_rec.php:963
14 0.1736 1488824 CI_DB_driver->simple_query( ) ..\DB_driver.php:299
15 0.1736 1488856 CI_DB_pdo_driver->_execute( ) ..\DB_driver.php:453
不知道问题出在哪里。我的 sqlite ci_session 表是这样的:
CREATE TABLE ci_session (
session_id VARCHAR(40) DEFAULT '0' NOT NULL,
ip_address VARCHAR(45) DEFAULT '0' NOT NULL,
user_agent VARCHAR(120) NOT NULL,
last_activity INT(10) DEFAULT 0 NOT NULL,
user_data VARCHAR(255) NOT NULL,
PRIMARY KEY (session_id)
);
我想这没问题(除了我没有包含原始 SQL 语句的最后一行):
KEY `last_activity_idx` (`last_activity`)
我也很确定问题与此无关,但以防万一:原始 MySQL 表位于 here在“将 session 数据保存到数据库”下。
最佳答案
我不使用 CodeIgniter,但我想阐明这一点,您收到的消息等同于 Null 引用异常,这发生在这里:
CI_DB_pdo_driver->_execute( )
因为这是 CodeIgniter 的一部分,您可能没有设置某些东西,或者您正面临 CodeIgniter 上的错误。
关于php - Codeigniter 和 SQLite - 将 session 保存到数据库不起作用(ci_session),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13459603/
我想知道是否有人可以帮忙。 我刚刚开始使用 CodeIgniter 进行迁移,但在尝试弄清楚如何将 SQL 转换为迁移时遇到了困难。 有没有人可以帮我将这个 SQL 转换为迁移,以便我可以看到它是如何
我正在使用 ajax 为我的项目开发聊天模块。我想知道该用户是否在线 我正在使用下面所示的数据库表 CREATE TABLE IF NOT EXISTS `ci_sessions` ( `id
我需要有使用 codeigniter session 经验的人的回答。在配置文件中,我必须不使用 session 数据库,因为它会导致我的代码发生冲突: $config['sess_cookie_na
我已经实现了 Codeigniters cart 类,它自动启用 session (我从文档中收集的内容)并将 session 数据存储到数据库中的 ci_sessions 表中。 但是,当我以用户身
我的数据库中有 ci_sessions 表,当用户登录时,他们的信息会保存在该表中。我想检查一下,如果我提供特定的 user_id,那么它会显示该用户是活跃的还是不活跃的。 我想查询 CodeIgnt
我正在使用与数据库相关的 CI session 。所以我们所有的 session 都在我们数据库的这个 ci_sessions 表中,考虑到 session_id 每 5 分钟更改一次,它可以获得很多
我在 Codeigniter 中构建了一个网络应用程序,该应用程序已经运行了大约一年,突然间应用程序在一天中的某些时间变得非常慢。 (有时页面加载需要 30 多秒)。我开始记录日志,结果发现一些查询运
// Run the update query $this->CI->db->where('session_id', $this->userdata['session_id']); $this->CI
我刚刚设置了 CI 以通过 PDO 使用 sqlite,一切都很顺利。 (我可以查询 sqlite 数据库,一切正常。) 现在遇到问题,我设置: $config['sess_use_database'
我当前的 ci 版本是 1.7.2 但我正在使用 $this->session->unset_userdata('uid'); $this->sessi
我是一名优秀的程序员,十分优秀!