Codeigniter 中的数据库错误 1146
A Database Error 1146 in Codeigniter
我正在使用 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');
我已阅读 https://ellislab.com/codeigniter/user-guide/libraries/sessions.html 并按照所有步骤正确访问会话。关于如何解决上述错误的任何建议?
- 请注意,当您使用 3.0.x.
时,您链接到的用户指南是针对 2.2.0 版的,不再是官方的
- 在此处阅读实际的用户指南:http://www.codeigniter.com/userguide3/libraries/sessions.html
- 不要只是告诉我们您已阅读并遵循所有步骤,而是实际执行 - 您还没有在数据库中创建
ci_sessions
table。 错误消息本身会告诉您这一点。
实际上你混淆了两个会话驱动程序,即 database
和 file
,所以如果你想使用文件驱动程序,请阅读这里的官方文档:
http://www.codeigniter.com/userguide3/libraries/sessions.html#files-driver
如果您想使用数据库驱动程序:
http://www.codeigniter.com/userguide3/libraries/sessions.html#database-driver
此外,我在自动加载库时遇到了一个奇怪的错误。
请在自动加载数组中的 database
驱动程序之前添加 session
驱动程序,如:
$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;
我正在使用 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');
我已阅读 https://ellislab.com/codeigniter/user-guide/libraries/sessions.html 并按照所有步骤正确访问会话。关于如何解决上述错误的任何建议?
- 请注意,当您使用 3.0.x. 时,您链接到的用户指南是针对 2.2.0 版的,不再是官方的
- 在此处阅读实际的用户指南:http://www.codeigniter.com/userguide3/libraries/sessions.html
- 不要只是告诉我们您已阅读并遵循所有步骤,而是实际执行 - 您还没有在数据库中创建
ci_sessions
table。 错误消息本身会告诉您这一点。
实际上你混淆了两个会话驱动程序,即 database
和 file
,所以如果你想使用文件驱动程序,请阅读这里的官方文档:
http://www.codeigniter.com/userguide3/libraries/sessions.html#files-driver
如果您想使用数据库驱动程序: http://www.codeigniter.com/userguide3/libraries/sessions.html#database-driver
此外,我在自动加载库时遇到了一个奇怪的错误。
请在自动加载数组中的 database
驱动程序之前添加 session
驱动程序,如:
$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;