Php Codeigniter中的数据库错误1146

Php Codeigniter中的数据库错误1146,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我正在使用Codeigniter框架构建一个网站。我收到这个错误: Error Number: 1146 Table 'users.ci_sessions' doesn't exist SELECT `data` FROM `ci_sessions` WHERE `id` = '5e47bcb40c2954bd7329ff3fbcf253007a0563cc' Filename: libraries/Session/drivers/Session_database_driver.php Li

我正在使用Codeigniter框架构建一个网站。我收到这个错误:

Error Number: 1146
Table 'users.ci_sessions' doesn't exist

SELECT `data` FROM `ci_sessions` WHERE `id` = '5e47bcb40c2954bd7329ff3fbcf253007a0563cc'

Filename: libraries/Session/drivers/Session_database_driver.php
Line Number: 166
以下是会话的定义方式: 在config.php中:

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_table_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = FALSE;
$config['sess_driver'] = 'database';       // changed from file
$config['sess_save_path'] = 'ci_sessions'; // table name
//$config['sess_save_path'] = sys_get_temp_dir();
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;
$config['sess_use_database'] = TRUE;
在autoload.php中:

$autoload['libraries'] = array('database','session');
我已经阅读并遵循了正确访问会话的所有步骤。关于如何修正上述错误有什么建议吗

  • 请注意,当您使用3.0.x时,您链接到的用户指南适用于2.2.0版,不再是官方版本
  • 请阅读此处的实际用户指南:
  • 不要只是告诉我们您已经阅读并遵循了所有步骤,而是要实际操作—您没有在数据库中创建
    ci\u sessions
    表。错误消息本身告诉您这一点
  • 请注意,当您使用3.0.x时,您链接到的用户指南适用于2.2.0版,不再是官方版本
  • 请阅读此处的实际用户指南:
  • 不要只是告诉我们您已经阅读并遵循了所有步骤,而是要实际操作—您没有在数据库中创建
    ci\u sessions
    表。错误消息本身告诉您这一点

  • 实际上,您混淆了两种会话驱动程序,即
    数据库
    文件
    ,因此,如果您想使用文件驱动程序,请阅读以下官方文档:

    如果要使用数据库驱动程序:

    另外,我在自动加载库时遇到了一个奇怪的错误

    请将
    会话
    驱动程序添加到自动加载阵列中的
    数据库
    驱动程序之前,如下所示:


    $autoload['libraries']=array('session','database')

    实际上,您正在混合使用两种会话驱动程序,即
    数据库
    文件
    ,因此如果您想使用文件驱动程序,请阅读此处的官方文档:

    如果要使用数据库驱动程序:

    另外,我在自动加载库时遇到了一个奇怪的错误

    请将
    会话
    驱动程序添加到自动加载阵列中的
    数据库
    驱动程序之前,如下所示:


    $autoload['libraries']=array('session','database')

    config.php

    $config['sess_driver'] = 'database';
    $config['sess_cookie_name'] = 'ci_session'; //ci_session don't add 's' in last
    $config['sess_expiration'] = 7200;
    $config['sess_save_path'] = 'ci_sessions'; //ci_sessions add 's' in last
    $config['sess_match_ip'] = FALSE;
    $config['sess_time_to_update'] = 300;
    $config['sess_regenerate_destroy'] = FALSE;
    

    config.php

    $config['sess_driver'] = 'database';
    $config['sess_cookie_name'] = 'ci_session'; //ci_session don't add 's' in last
    $config['sess_expiration'] = 7200;
    $config['sess_save_path'] = 'ci_sessions'; //ci_sessions add 's' in last
    $config['sess_match_ip'] = FALSE;
    $config['sess_time_to_update'] = 300;
    $config['sess_regenerate_destroy'] = FALSE;
    

    您的数据库中是否有名为
    ci_sessions
    的表?@MdMahfuzurRahman是的,我有,只是没有在问题中粘贴它:
    $config['sess_table_name']='ci_sessions'
    @Irfana需要注意的是,对于版本3和版本2的用户指南,Ellisab不再处理codeigniter了。请使用这些链接。您的数据库中是否有名为
    ci_sessions
    的表?@MdMahfuzurRahman是的,只是没有粘贴到问题中:
    $config['sess_table_name']='ci_sessions'
    @Irfana需要注意的是,对于版本3和版本2的用户指南,Ellisab不再处理codeigniter。请使用这些链接。我阅读了您建议的链接,我相信我已经按照正确使用会话库的步骤进行了操作,如果您认为我在配置中编写的内容是错误的,如果你能纠正我,我将不胜感激。谢谢我已经编辑了这个问题。您的
    ci_sessions
    表不存在-这就是错误消息所说的。您无法通过更改配置文件来修复此问题。我阅读了您建议的链接,我相信我已经按照正确使用会话库的步骤进行了操作,如果您认为我在配置中编写的内容是错误的,如果您能纠正我的错误,我将不胜感激。谢谢我已经编辑了这个问题。您的
    ci_sessions
    表不存在-这就是错误消息所说的。您无法通过更改配置文件来修复此问题。