使用MySQL驱动程序,我一直在使用CI.我想改用MySQL驱动程序,但一旦我更改它(只需在MySQL末尾添加'I',并添加端口号),我就会收到以下错误消息

发生数据库错误

无法使用提供的设置连接到数据库服务器.

文件名:core/Loader.php

电话号码:232

我的设置如下:

$db['default']['hostname'] = $hostname;
$db['default']['username'] = $username;
$db['default']['password'] = $password;
$db['default']['database'] = $database;
$db['default']['dbdriver'] = 'mysqli';
$db['default']['port']     = "3306";  
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE; 

where
$hostname = 'localhost';
$username = 'myusernamegoeshere';
$password = 'mypasswordgoeshere';
$database = 'mydatabasenamegoeshere'; 

我用的是:

CI 2.0.2 php 5.3.4 Apache/2.2.17(Unix)mysql 5.5.13 mysql.默认端口3306

我做错什么了吗?

非常感谢.

推荐答案

对我来说,问题在于php.ini文件.该属性是mysql.默认的_套接字指向一个不存在的目录中的文件.该属性指向/var/mysql/mysql.sock,但在OSX中,该文件位于/tmp/mysql.sock.

一旦我用php更新了条目.ini并重新启动Web服务器,问题得到解决.

Mysql相关问答推荐

如何在循环查询中删除默认架构?

在MySQL中查找具有公共值的列名

无条件理解MySQL中内连接和交叉连接的相似性

子查询是否可以按主查询中的列进行分组?

列出每年最多产的三位作家

如何将多个字符串插入变量

在 MySQL 中,如何对 LIKE 查询进行批量更新,删除字符?

仅当 SELECT 语句在 MySQL 中给出空集时才执行 UPDATE 语句

如何在 MYSQL 中使用多个表进行插值

MySQL 每组最大 n 只适用于多行

如何使用 IF() 条件在 MySQL 中显示真假行

MySQL - 如何在 INSERT 语句中将字符串值解析为 DATETIME 格式?

在 MySQL 中检测 utf8 损坏的字符

从 MySQL 中的日、月、年字段创建日期

判断多个列的一个值

MySQL导入数据库但忽略特定表

MySQL:切换 int 字段值的简单方法

表被指定了两次,既作为更新的目标,又作为 mysql 中数据的单独源

'LIKE ('%this%' OR '%that%') and something=else' 不起作用

MySQL在哪里存储数据库文件?