我想在我的CodeIgniter應用程序中使用PDO MySQL驅動。這是我的數據庫配置:CodeIgniter PDO數據庫驅動不起作用
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'testdatabase';
$db['default']['dbdriver'] = 'pdo';
$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;
然而,當我打開一個控制器,我得到這個錯誤:
Fatal error: Uncaught exception 'PDOException' with message 'invalid data source name' in C:\xampp\htdocs\testsite\system\database\drivers\pdo\pdo_driver.php:114
我檢查使用die($this->hostname);
數據源pdo_driver.php
和它的現身爲:
localhost;dbname=testdatabase
所以它得到正確的數據庫名稱。數據庫存在,我確實有MySQL運行。
這裏可能會出現什麼問題?謝謝。
旁註:我最近看了新版本(2.1.1)changelog以及有關於PDO驅動的一些錯誤修正。您可能想要檢查它 –
Martin,我收到了一個類似的錯誤:致命錯誤:未找到異常'PDOException'帶消息'找不到驅動程序'...((列出了幾個數據庫和核心目錄/文件))。 .. 114線上的syetem/database/drivers/pdo/pdo_driver.php 我已經夠新了,我甚至不知道你的黑客能否幫助我。你在'.../system/database/drivers/pdo/pdo_driver.php'中編輯了哪些內容和內容?我在配置主題上很新手。我覺得需要對系統文件進行攻擊才能使CI v.2.1.1中的PDO工作,這似乎很奇怪,不是嗎?爲什麼(大多數人)不需要你提到的黑客? – govinda
@govinda,我在第81行,在類構造函數的'else {...}'後面執行了操作。這似乎很奇怪,你需要破解它,但我發現沒有錯誤,因爲我的修復。 –