Home >Database >Mysql Tutorial >Why Can't My CodeIgniter App Connect to My MySQL Database Using the MySQLi Driver?
Unable to Connect to MySQL Database with CodeIgniter
Error Message:
A Database Error Occurred Unable to connect to your database server using the provided settings.
A user encountered this error when switching from the MySQL driver to the MySQLi driver in CodeIgniter. The following configuration was used:
$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;
Solution:
The issue may lie in the PHP configuration. To debug the connection, a test script can be added to the end of ./config/database.php:
... ... ... echo '<pre class="brush:php;toolbar:false">'; print_r($db['default']); echo ''; 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 '
This script will print out the database configuration and attempt to connect to the database. If the connection fails, the error message will be displayed. This should help identify the root of the problem and allow the connection to be established successfully.
The above is the detailed content of Why Can't My CodeIgniter App Connect to My MySQL Database Using the MySQLi Driver?. For more information, please follow other related articles on the PHP Chinese website!