【问题标题】:database error in codeigniter 3.0.1codeigniter 3.0.1 中的数据库错误
【发布时间】:2026-02-16 23:40:01
【问题描述】:
Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `id` = '0bc6ecedf769fe4ccd8199bd7bc76c15369c7419'' at line 2

SELECT `data` WHERE `id` = '0bc6ecedf769fe4ccd8199bd7bc76c15369c7419'

Filename: libraries/Session/drivers/Session_database_driver.php

Line Number: 160

我不知道这个错误是怎么来的,我所做的只是将我的模型、控制器、助手和视图从 CI 2.2 复制到 CI 3.0.1

我的会话配置如下所示

$config['sess_driver'] = 'database';
$config['sess_cookie_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;

这些是我的数据库设置

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'host',
    'username' => 'admin',
    'password' => 'password',
    'database' => 'db_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

【问题讨论】:

  • 你应该尝试将 2.2 升级到 3 而不是应对文件..
  • SELECT data FROM table_name WHERE id = '0bc6ecedf769fe4ccd8199bd7bc76c15369c7419' 这不是代码点火器故障。
  • @RubahMalam 这是会话表,我该如何控制它?

标签: php mysql codeigniter


【解决方案1】:

$config['sess_save_path'] = NULL; 设置为 null 而不是 table name

【讨论】: