From 2b079ff836fc3fe1dbced793d62d0ad828e359c4 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Tue, 11 Apr 2023 10:58:38 +0900 Subject: [PATCH] DB\IO: add missing debug query, clean up not needed code in dbReturn with params on not matching param the system exited on fail without printing the query making it hard to find where the error is. Added debug output in case the params count is not matching. Same move in the dbExecute call removed param count check from dbReturnRow/dbReturnArray as this check is done in the dbExecParams call anyway --- www/lib/CoreLibs/DB/IO.php | 42 +++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/www/lib/CoreLibs/DB/IO.php b/www/lib/CoreLibs/DB/IO.php index aefa738c..f637aa70 100644 --- a/www/lib/CoreLibs/DB/IO.php +++ b/www/lib/CoreLibs/DB/IO.php @@ -1953,6 +1953,18 @@ class IO // check if params count matches // checks if the params count given matches the expected count if ($this->__dbCheckQueryParams($query, count($params)) === false) { + // in case we got an error print out query + if ($this->db_debug) { + $this->__dbDebug( + 'db', + $this->__dbDebugPrepare( + $this->query, + $this->params + ), + 'dbReturn', + ($this->params === [] ? 'Q[e]' : 'Qp[e]') + ); + } return false; } // set first call to false @@ -2324,10 +2336,6 @@ class IO $this->__dbError(17, false, $query); return false; } - // checks if the params count given matches the expected count - if ($this->__dbCheckQueryParams($query, count($params)) === false) { - return false; - } $cursor = $this->dbExecParams($query, $params); if ($cursor === false) { return false; @@ -2372,10 +2380,6 @@ class IO $this->__dbError(17, false, $query); return false; } - // checks if the params count given matches the expected count - if ($this->__dbCheckQueryParams($query, count($params)) === false) { - return false; - } $cursor = $this->dbExecParams($query, $params); if ($cursor === false) { return false; @@ -2685,6 +2689,17 @@ class IO ); return false; } + if ($this->db_debug) { + $this->__dbDebug( + 'db', + $this->__dbDebugPrepare( + $this->prepare_cursor[$stm_name]['query'], + $data + ), + 'dbExecPrep', + 'Qpe' + ); + } // if the count does not match if ($this->prepare_cursor[$stm_name]['count'] != count($data)) { $this->__dbError( @@ -2697,17 +2712,6 @@ class IO ); return false; } - if ($this->db_debug) { - $this->__dbDebug( - 'db', - $this->__dbDebugPrepare( - $this->prepare_cursor[$stm_name]['query'], - $data - ), - 'dbExecPrep', - 'Qp' - ); - } $result = $this->db_functions->__dbExecute($stm_name, $data); if ($result === false) { $this->log->debug('ExecuteData', 'ERROR in STM[' . $stm_name . '|'