3

PDO経由でsqliteと連携するようにCIをセットアップしたところ、すべてがスムーズに進みました。(私は sqlite db にクエリを実行できますが、すべて問題ありません。)

今私は問題を抱えています、私は設定しました:

$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 テーブルは、「データベースへのセッション データの保存」の下にあります。

4

1 に答える 1

1

私は CodeIgniter を使用していませんが、これに光を当てたいと思います。取得しているメッセージは、ここで発生している Null 参照例外と同等です。

CI_DB_pdo_driver->_execute( )

これは CodeIgniter の一部であるため、何かを設定していないか、CodeIgniter のバグに直面している可能性があります。

于 2012-11-19T19:28:38.417 に答える