summaryrefslogtreecommitdiffstats
path: root/system/database/drivers/mysql
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2013-01-24 10:32:29 +0100
committerAndrey Andreev <narf@bofh.bg>2013-01-24 10:32:29 +0100
commit1a0014941dcf399e97d3586bd6d3382166b413dd (patch)
tree03d903de3f126bf68ecfbb3d031dafe42981cdb6 /system/database/drivers/mysql
parentde5744f78c44c417f41ae01eb59488a63adabd7f (diff)
Move db_select() call from CI_DB_driver::initialize() to db_connect()
so that it's only called by drivers that need it ('mysql', 'mssql'). As proposed in issue #2187.
Diffstat (limited to 'system/database/drivers/mysql')
-rw-r--r--system/database/drivers/mysql/mysql_driver.php16
1 files changed, 15 insertions, 1 deletions
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index 492b07861..95003f648 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -110,9 +110,23 @@ class CI_DB_mysql_driver extends CI_DB {
$client_flags = $client_flags | MYSQL_CLIENT_SSL;
}
- return ($persistent === TRUE)
+ $this->conn_id = ($persistent === TRUE)
? @mysql_pconnect($this->hostname, $this->username, $this->password, $client_flags)
: @mysql_connect($this->hostname, $this->username, $this->password, TRUE, $client_flags);
+
+ // ----------------------------------------------------------------
+
+ // Select the DB... assuming a database name is specified in the config file
+ if ($this->database !== '' && ! $this->db_select())
+ {
+ log_message('error', 'Unable to select database: '.$this->database);
+
+ return ($this->db_debug === TRUE)
+ ? $this->display_error('db_unable_to_select', $this->database)
+ : FALSE;
+ }
+
+ return $this->conn_id;
}
// --------------------------------------------------------------------