$GLOBALS[__FUNCTION__][$sqlString] = $sqlStringModified;
$GLOBALS['last_sql'] = $sqlStringModified;
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Stored cache: ' . $sqlStringModified);
- } else {
+ } elseif (!SQL_IS_LINK_UP()) {
+ // Link went down while using cached SQL
+ reportBug(__FUNCTION__, __LINE__, 'Link went down while using cached SQL: sqlString=' . $sqlString . ',F=' . basename($F) . ',L=' . $L . ',enableCodes=' . intval($enableCodes));
+ } else {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cache used: ' . $sqlString);
// Use cache (to save a lot function calls
// SQL fetch row
function SQL_FETCHROW ($resource) {
- // Is a result resource set?
+ // Is $resource valid?
if ((!is_resource($resource)) || (!SQL_IS_LINK_UP())) return FALSE;
// Fetch the data and return it
// SQL fetch array
function SQL_FETCHARRAY ($resource) {
- // Is a result resource set?
+ // Is $resource valid?
if ((!is_resource($resource)) || (!SQL_IS_LINK_UP())) return FALSE;
- // Load row from database
+ // Load row as array from database
$row = mysql_fetch_assoc($resource);
// Return only arrays here
* SQL_IS_LINK_UP() will only return 'true' if there is really a
* working database link.
*/
- SQL_SET_LINK($linkResource);
+ SQL_SET_LINK(__FUNCTION__, __LINE__, $linkResource);
} // END - if
// Return the resource
+ //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'linkResource[]=' . gettype($linkResource));
return $linkResource;
}
if (!SQL_IS_LINK_UP()) return FALSE;
// Return the result
+ //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'Selecting database ' . $dbName);
return mysql_select_db($dbName, SQL_GET_LINK()) or SQL_ERROR($F, $L, mysql_error());
}
// SQL close link
function SQL_CLOSE ($F, $L) {
+ // Is the link up?
if (!SQL_IS_LINK_UP()) {
// Skip double close
+ //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'Called but no link is open.');
return FALSE;
} // END - if
// Close database link and forget the link
- $close = mysql_close(SQL_GET_LINK()) or SQL_ERROR($F, $L, mysql_error());
+ $close = mysql_close(SQL_GET_LINK()) or SQL_ERROR($F . ':' . __FUNCTION__, $L . ':' . __LINE__, mysql_error());
- // Close link
- SQL_SET_LINK(NULL);
+ // Close link in this layer
+ unsetSqlLinkUp(__FUNCTION__, __LINE__);
// Return the result
+ //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'close[' . gettype($close) . ']=' . intval($close));
return $close;
}