From dcdf581998d2e513350c5d768a1e9859d4978449 Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Wed, 2 May 2012 12:53:34 -0400 Subject: [PATCH] Database connection tweaks --- classes/query_builder.php | 21 +++++++++------------ tests/databases/mysql/mysql.php | 6 +++--- tests/db_files/FB_TEST_DB.FDB | Bin 802816 -> 802816 bytes 3 files changed, 12 insertions(+), 15 deletions(-) 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 060d70fd849ab522076926c4a030a5a674f5c87e..c38677cf9540c45256ee7c2bdabfb0a6248ed669 100644 GIT binary patch delta 1271 zcmZ8g&ubG=5T2K0vuTFXS6Z;B*tBVFY$>Fmh$7O^V-YNfh!=b4rGJ72A&4w^vsf6> zlhA|5dTB1Pgc2l_s6p1BAhgZ4p%hvRo&>?!ACo?^%Wmd-c{|@X^Svn+r;5d?TMDk_ z2Z!PG(pZc~$p3XS0N?llh^bdU0q$J=G5&?BN9!qcsml3Y84N27ej{#kU5* zKH}Qrf^~oul%xG1n11Xq!P6#As4`vJ#SDFEVwU6OV_yHT$HZkiIpX-&F2@`6`T%Dp zB~2_yquXgi8DPo(fee~!;#+!oj01Gm!^`yd2+z@?hf{R_5U-Q#VZPV*)2~BxxrQ#+ z(B=9K8KSK{99OR2kVx0ppeyuXA4dz4OT-CI1Y#j3xF_mCql3F)a5w1THuvO8i+j@W zdon~zE#_|cJ(*RX>7<1-1<4>T2o4p1C0JajcQDos#=22$-Eg69xbQJ>p&)5Ovo#2g zTu2BGWhkh1(AEsvnn7C&3uUv$RV}1tyT;TO%^h;Jl169+NBy+~3vIQ7wrbE;4ce+v zZPlpuJr(wuR?-Nq;D}ZU7F*@$%aN)Wv=!ghYG<0?c!nO)NOikgxxgh;TbKv nLJ<(BJRdGfM<`dxx z<_g0VrYkI0*sch;V!#zaR~)H`kR{lss_ld>2dmfPp~^sJdBB|xRi?RBdb}C*0=EC| zu%nPPPr=nd1Pb;kNCq7EYsaB%;cN}Th82MoD+=R*C^Qg%wWDy&ii3miz9Bw9Up1D@ zA$V#|wBsh7_7ZZPwfwoukA-QAp-8YTQ1bkz#o#>4$!9w}7AG^DZDk4TDP?8jgLBJ< zyDMv{E0B}FclZL^l8G7*-@{FR7|JIQ@**4f4t-1m607(m6=GfcLgBTw znXGTGA~1H)%F6dO9y^1cG=g4s_r2^?eKBe)2&<{pv+JpcNr0@h>)eSsWUnmxE6>Wz z-v2Al%Kavf$q#it$zI4>orh0%DEi2^m3)$8$XmboTe-Ev$K>$_pJgBy8+<`ts_{|z zronHIlrdpdC{H-1TvoytSy`!>#|cwCCm%KWIIcU1R3zKw^K;~EsH&k_!m8U?AA|6) zhZ&T5$V!^5BuD=sSxJ$Fdw!Rvyz}h5%!OgMOc$FDD;pOG+9BD6|^WU{uC={vIh-pxeHXowL+r5B5JCD+H&`^f04S#9lc^X5Of8YI^M