CodeIgniter:无法使用提供的设置连接到数据库服务器 错误消息

2022-08-30 09:59:35

我一直在使用Ci,使用MySQL驱动程序很好。我想改用MySQL驱动程序,但是一旦我更改了它(只需在MySQL末尾添加“i”,并添加端口号),我就会收到以下错误消息

发生数据库错误

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

文件名:核心/加载程序.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.default_port 3306

我做错了什么吗?

谢谢


答案 1

我认为,PHP配置有问题。
首先,在 ./config/database 的末尾使用此脚本调试数据库连接.php:

...
  ...
  ...
  echo '<pre>';
  print_r($db['default']);
  echo '</pre>';

  echo 'Connecting to database: ' .$db['default']['database'];
  $dbh=mysql_connect
  (
    $db['default']['hostname'],
    $db['default']['username'],
    $db['default']['password'])
    or die('Cannot connect to the database because: ' . mysql_error());
    mysql_select_db ($db['default']['database']);

    echo '<br />   Connected OK:'  ;
    die( 'file: ' .__FILE__ . ' Line: ' .__LINE__); 

然后看看问题是什么。


答案 2

今天我在实时服务器中遇到了这种问题,我解决了更改此行的问题

$db['default']['db_debug'] = TRUE;

$db['default']['db_debug'] = FALSE;

推荐