【发布时间】:2019-01-17 12:03:02
【问题描述】:
设置一个新的 CodeIgniter 3 项目我遇到了数据库访问问题。访问我的主页时,我得到:
'Unknown column 'STRICT_ALL_TABLES,' in 'field list'
...当 Codeigniter 初始化数据库时触发。在mysqli/mysqli_driver.php之后调用parent::__construct()
经过一些代码和谷歌研究后,我不清楚为什么会发生这种情况。有什么提示吗?有什么建议吗?
一些细节
使用相同的数据库连接,我在同一台开发计算机中成功使用了其他 PHP 设置。 (使用旧的 codeigniter 版本)
我使用 CodeIgniter 3.1.10,与ci3-fire-starter 一起安装
我的数据库配置:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '127.0.0.1',
'username' => 'my_username',
'password' => 'my_password',
'database' => 'my_db',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE, // Notice I have stricton set to FALSE!
'failover' => array(),
'save_queries' => TRUE
);
最后得到完整的错误:
Severity: Warning
Message: mysqli::real_connect(): (42S22/1054): Unknown column 'STRICT_ALL_TABLES,' in 'field list'
Filename: mysqli/mysqli_driver.php
Line Number: 203
Backtrace:
File: C:\my\path\application\core\MY_Controller.php
Line: 26
Function: __construct
File: C:\my\path\application\core\Public_Controller.php
Line: 13
Function: __construct
File: C:\my\path\application\controllers\Welcome.php
Line: 10
Function: __construct
File: C:\my\path\index.php
Line: 325
Function: require_once
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/my/path/system/database/DB_driver.php
Line Number: 436
【问题讨论】:
-
index.php 中的第 325 行、Welcome.php 中的第 10 行、Public_Controller.php 中的第 13 行和 MY_Controller.php 中的第 26 行周围的代码是什么样的?另外,您的任何 MySQL 配置文件中是否有 STRICT_ALL_TABLES,如果有,它是如何引用的?
标签: php mysql mysqli codeigniter-3