php - Codeigniter 和 SQLite - 将 session 保存到数据库不起作用(ci_session)

标签 php codeigniter session sqlite pdo

我刚刚设置了 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/

相关文章:

php - 在根目录中安装 CodeIgniter,在子目录中安装 WordPress

mysql - ASP.NET 中的全局变量和 session

php - 更改 p4a 字段中 MySQL 的日期格式

php - 我如何使用 anchor 标记 href 打开我的代码的详细信息数据?

php - 如何检查 CodeIgniter 3.0.3 中的查询(删除、更新、选择、插入)?

codeigniter - CodeIgniter 2.1.0 中的用户管理

java - 需要有关如何制作 Angular 应用程序和 Java 作为后端的建议

php - 登录 Apache 后如何将凭据传递给 PHP 脚本

php - 捕获 'call to a member function on a non-object'的最安全方法

php - 多语言 WordPress 网站,提供 2 次安装建议