diff --git a/classes/query_builder.php b/classes/query_builder.php index 8e299e7..5491dde 100644 --- a/classes/query_builder.php +++ b/classes/query_builder.php @@ -158,21 +158,17 @@ class Query_Builder { // Convert array to object if (is_array($params)) { - $p = new StdClass(); - - foreach($params as $key => $val) - { - $p->$key = $val; - } - + $p = new ArrayObject($params); $params = $p; } - // Let the connection work with 'conn_db' or 'database' - $params->conn_db = ( ! isset($params->database)) - ? @$params->conn_db - : @$params->database; - + // Let the connection work with 'conn_db' or 'database' + if (isset($params->database)) + { + $params->conn_db = $params->database; + } + + $params->type = strtolower($params->type); $dbtype = ($params->type !== 'postgresql') ? $params->type : 'pgsql'; @@ -213,6 +209,7 @@ class Query_Builder { $this->db = new $dbtype($dsn); } + // Set the connection name property, if applicable if (isset($params->name)) { $this->conn_name = $params->name; diff --git a/tests/databases/mysql/mysql.php b/tests/databases/mysql/mysql.php index f1f0f90..c9556b7 100644 --- a/tests/databases/mysql/mysql.php +++ b/tests/databases/mysql/mysql.php @@ -25,10 +25,10 @@ class MySQLTest extends DBTest { // Attempt to connect, if there is a test config file if (is_file(QBASE_DIR . "test_config.json")) { - $params = json_decode(file_get_contents(QBASE_DIR . "test_config.json")); - $params = $params->mysql; + $params = json_decode(file_get_contents(QBASE_DIR . "test_config.json"), TRUE); + $params = $params['mysql']; - $this->db = new MySQL("host={$params->host};port={$params->port};dbname={$params->database}", $params->user, $params->pass); + $this->db = new MySQL("host={$params['host']};port={$params['port']};dbname={$params['database']}", $params['user'], $params['pass']); } elseif (($var = getenv('CI'))) { diff --git a/tests/db_files/FB_TEST_DB.FDB b/tests/db_files/FB_TEST_DB.FDB index 060d70f..c38677c 100644 Binary files a/tests/db_files/FB_TEST_DB.FDB and b/tests/db_files/FB_TEST_DB.FDB differ