phpcodeignitersessionconfiguration

Unknown column 'data' in 'field list' in codeigniter


I am creating one website using codeigniter with session. When i load the welcome page in codeigniter its showing the error like:-

Error Number: 1054, Unknown column 'data' in 'field list', SELECT data FROM ci_sessions WHERE id = '562a04f4kt6j4n6eehsob3vm3puuc3r5', Filename: C:/xampp/htdocs/ci_ecom/system/database/DB_driver.php, Line Number: 691.

I call the session library and database library in auto load area corretly. I dont know exactly where i did the mistake I check it in C:/xampp/htdocs/ci_ecom/system/database/DB_driver.php this path area also.. In my table I put the column name user_data but here its showing Unknown column 'data' in 'field list'.

this is my table stucture

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
    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) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id),
    KEY `last_activity_idx` (`last_activity`)
);

These are my session configuration details:

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

Solution

  • I believe you'd experience this problem in CodeIgniter 3.X. To resolve it: Update the config.php to look like below.

    $config['sess_driver'] = 'database';
    $config['sess_cookie_name'] = 'ci_session';
    $config['sess_expiration'] = 7200;
    $config['sess_save_path'] = 'ci_session';
    $config['sess_match_ip'] = FALSE;
    $config['sess_time_to_update'] = 300;
    $config['sess_regenerate_destroy'] = FALSE;