From: Roland Häder Date: Sun, 26 Jul 2009 12:43:25 +0000 (+0000) Subject: Database links should be up before we send queries, now a trigger_error() is added... X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=commitdiff_plain;h=fc95ac449b66821b99970088cc924e35ed76e0e9 Database links should be up before we send queries, now a trigger_error() is added to avoid this and many more bugs... :( --- diff --git a/inc/db/lib-mysql3.php b/inc/db/lib-mysql3.php index 8f57bf199e..e005e753b9 100644 --- a/inc/db/lib-mysql3.php +++ b/inc/db/lib-mysql3.php @@ -45,7 +45,17 @@ if (!defined('__SECURITY')) { // SQL queries function SQL_QUERY ($sql_string, $F, $L) { // Link is up? - if (!SQL_IS_LINK_UP()) return false; + if (!SQL_IS_LINK_UP()) { + // We should not quietly ignore this! + trigger_error(sprintf("Cannot query database: sql_string=%s,file=%s,line=%s", + $sql_string, + basename($F), + $L + )); + + // Return 'false' because it has failed + return false; + } // END - if // Remove \t, \n and \r from queries they may confuse some MySQL version I have heard $sql_string = str_replace("\t", " ", str_replace("\n", " ", str_replace("\r", " ", $sql_string))); @@ -62,7 +72,7 @@ function SQL_QUERY ($sql_string, $F, $L) { // Run SQL command //* DEBUG: */ echo $sql_string."
\n"; $result = mysql_query($sql_string, SQL_GET_LINK()) - or addFatalMessage(__FUNCTION__, __LINE__, $F." (".$L."):".mysql_error()."
+ or addFatalMessage(__FUNCTION__, __LINE__, $F." (".$L."):".mysql_error()."
Query string:
".$sql_string); diff --git a/inc/extensions.php b/inc/extensions.php index 5f93aecc45..e11a41a315 100644 --- a/inc/extensions.php +++ b/inc/extensions.php @@ -88,7 +88,7 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "--- Language loaded."); $GLOBALS['ext_loaded']['lang'][$ext_name] = true; loadIncludeOnce($langInclude); - } elseif ($ext_name != 'sql_patches') { + } elseif (($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) { // No language file is not so good... DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("WARNING: Extension %s has no language file or we cannot read from it. lang=%s", $ext_name, getLanguage() @@ -104,7 +104,7 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "--- Functions loaded."); $GLOBALS['ext_loaded']['funcs'][$ext_name] = true; loadIncludeOnce($funcsInclude); - } elseif ($ext_name != 'sql_patches') { + } elseif (($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) { // No functions file is not so good... DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("WARNING: Extension %s has no own functions file or we cannot read from it.", $ext_name @@ -486,14 +486,17 @@ function GET_EXT_VERSION ($ext_name) { } elseif (!isCacheInstanceValid()) { // Load from database $result = SQL_QUERY_ESC("SELECT ext_version FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1", - array($ext_name), __FUNCTION__, __LINE__); + array($ext_name), __FUNCTION__, __LINE__); //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, ": DB - ".SQL_NUMROWS($result).""); // Is the extension there? if (SQL_NUMROWS($result) == 1) { // Load entry list($ext_ver) = SQL_FETCHROW($result); - } // END - if + } else { + // Not found! + DEBUG_LOG(__FUNCTION__, __LINE__, sprintf(": Cannot find extension %s in database!", $ext_name)); + } // Free result SQL_FREERESULT($result);