KevinDean 发表于 2014-12-16 12:40:15

Closer 发表于 2014-12-16 09:28
你的 database 有載入嗎?
一般我都是在 config\autoload.php 自動載入
$autoload['libraries'] = array('d ...

您好!
1.database里面已经自动载入了!
2.按照您的说法,我设置$db['default']['db_debug'] = TRUE;之后,返回了错误
A Database Error OccurredUnable to connect to your database server using the provided settings.Filename: D:\Program Files (x86)\xampp\htdocs\biocommunity\system\database\DB_driver.phpLine Number: 124
我找到第124行,发现是
       

        $this->conn_id = ($this->pconnect == FALSE) ? $this->db_connect() : $this->db_pconnect();

                // No connection resource?Throw an error
                if ( ! $this->conn_id)
                {
                        log_message('error', 'Unable to connect to the database');

                        if ($this->db_debug)
                        {
                                $this->display_error('db_unable_to_connect');                  //124行代码
                        }
                        return FALSE;
                }
此外 我提供的设置是

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'liukai';
$db['default']['database'] = 'biocommunity';
$db['default']['dbdriver'] = 'mysql';
$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;

$db['default']['port'] = 5432;
谢谢您的回答!!!



Closer 发表于 2014-12-16 13:30:09

通常資料庫錯誤的真正的原因不是他第幾行錯
而是這段 Unable to connect to your database server using the provided settings.
他告訴你資料庫無法依照配置正確連線

關於 port 號的問題還沒遇過
所以沒辦法給你太多建議
————————————————————————
因為我踏入 PHP 和 CI 界還不到半年
所以只會照著基本流程來除錯
你試著去檢查或跟著我的步驟去創建新的試試

1. 確認 XAMPP 的 mysql 和 apache 有啟動
1. 檢查資料庫名稱正確 (常見的是 coool 打成 cool ... 等等 )
2. 檢查編碼是否為 utf8_general_ci
3. 建立新的使用者,不要使用 root

 

KevinDean 发表于 2014-12-16 14:49:26

您好!
去stackoverflow上面http://stackoverflow.com/questions/22533644/codeigniter-error-unable-to-connect-to-database-using-the-provided-settings
按照文中的方法Go to system/database/mysql/mysql_driver and in db_connect method delete the @ from @mysql_connect($this->hostname, $this->username, $this->password, TRUE);
去掉了@符号之后 提示如下错误
A PHP Error was encounteredSeverity: 8192Message: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO insteadFilename: mysql/mysql_driver.phpLine Number: 73A PHP Error was encounteredSeverity: WarningMessage: mysql_connect():Filename: mysql/mysql_driver.phpLine Number: 73于是将默认数据库改成了$db['default']['dbdriver'] = 'mysqli';以上的两个错误消失了,现在又回到了原点A Database Error OccurredUnable to connect to your database server using the provided settings.Filename: D:\Program Files (x86)\xampp\htdocs\biocommunity\system\database\DB_driver.phpLine Number: 124这下是真 走投无路了。。。

Closer 发表于 2014-12-16 14:57:56

KevinDean 发表于 2014-12-16 14:49
您好!
去stackoverflow上面http://stackoverflow.com/questions/22533644/codeigniter-error-unable-t ...

我會刪掉重灌弄個新的 XAMPP + CI
這樣會比較快

KevinDean 发表于 2014-12-16 15:05:05

Closer 发表于 2014-12-16 14:57
我會刪掉重灌弄個新的 XAMPP + CI
這樣會比較快

您好!
我仔细查看了 stackovewflow上的回答,发现他的端口号是 3306 ,于是我尝试修改了一下,发现数据库可以正确插入了,当然也有可能是
修改了$db['default']['dbdriver'] = 'mysqli'; 的原因,因为我修改了 这两个地方。
下载下来的CI默认配置以及 官网 http://codeigniter.org.cn/user_guide/database/configuration.html 上的默认端口号都是5432 。
最后感谢您百忙之中抽出时间耐心的观看并回答我的问题, 祝您工作愉快,身体健康!!!

Closer 发表于 2014-12-16 15:09:35

KevinDean 发表于 2014-12-16 15:05
您好!
我仔细查看了 stackovewflow上的回答,发现他的端口号是 3306 ,于是我尝试修改了一下,发现数据 ...

感覺沒幫到甚麼忙
你自己解決了 XD

加油啊!

KevinDean 发表于 2014-12-16 15:26:19

Closer 发表于 2014-12-16 15:09
感覺沒幫到甚麼忙
你自己解決了 XD



您能抽出时间并尝试给出解决问题的方案本身就是帮很大的忙了,真的很感谢!!!
大家一起加油~~~
页: 1 [2]
查看完整版本: 使用框架无法向MySQL数据库插入数据,疑连接有误