".MYSQL_QUERY_STRING."
".$sql_string); if (($CSS != "1") && ($CSS != "-1") && (DEBUG_MODE) && (DEBUG_SQL)) { // // Debugging stuff... // $fp = @fopen(PATH."debug.log", 'a') or mxchange_die("Cannot write debug.log!"); if (!isset($OK)) { // Write first entry fwrite($fp, "Module=".$GLOBALS['module']."\n"); $OK = true; } fwrite($fp, $F."(LINE=".$L."|NUM=".SQL_NUMROWS($result)."|AFFECTED=".SQL_AFFECTEDROWS()."): ".str_replace('\r', '', str_replace('\n', " ", $sql_string))."\n"); fclose($fp); } // Count DB hits if (!isset($CONFIG['db_hits'])) { // Count in dummy variable $CONFIG['db_hits'] = 0; } else { // Count to config array $CONFIG['db_hits']++; } return $result; } // SQL num rows function SQL_NUMROWS($result) { if ($result != false) { $lines = @mysql_num_rows($result); if (empty($lines)) $lines = "0"; } else { // No resource given, no lines found! $lines = "0"; } return $lines; } // SQL affected rows function SQL_AFFECTEDROWS($lnk="x", $F="dummy", $L="dummy") { global $link; // $lnk will be ignored for now! $lines = @mysql_affected_rows($link); return $lines; } // SQL fetch row function SQL_FETCHROW($result) { $DATA = array(); $DATA = @mysql_fetch_row($result); return $DATA; } // SQL fetch array function SQL_FETCHARRAY($res=false, $nr=0, $remove_numerical=true) { // Is a result resource set? if (!$res) return false; // Initialize array $row = array(); // Load row from database $row = @mysql_fetch_array($res); // Return only arrays here if (is_array($row)) { // Shall we remove numerical data here automatically? if ($remove_numerical) { // So let's remove all numerical elements to save memory! $max = count($row); for ($idx = 0; $idx < ($max / 2); $idx++) { // Remove entry unset($row[$idx]); } } // Return row return $row; } else { // Return a false here... return false; } } // SQL result function SQL_RESULT($res, $row, $field) { $result = @mysql_result($res, $row, $field); return $result; } // SQL connect function SQL_CONNECT($host, $login, $password, $F, $L) { $connect = @mysql_connect($host, $login, $password) or ADD_FATAL($F." (".$L."):".mysql_error()); return $connect; } // SQL select database function SQL_SELECT_DB($DB, $link, $F, $L) { $DB = @mysql_select_db($DB, $link) or ADD_FATAL($F." (".$L."):".mysql_error()); return $DB; } // SQL close link function SQL_CLOSE($link, $F, $L) { global $CONFIG, $CACHE, $CFG_CACHE; if ((GET_EXT_VERSION("cache") >= "0.0.7") && (isset($CONFIG['db_hits'])) && (isset($CONFIG['cache_hits'])) && (is_object($CACHE))) { // Update counter for db/cache $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_config SET db_hits='".$CONFIG['db_hits']."', cache_hits='".$CONFIG['cache_hits']."' WHERE config='0' LIMIT 1", __FILE__, __LINE__); // Update cache here if (GET_EXT_VERSION("cache") >= "0.1.2") { if ($CACHE->cache_file("config", true)) { // Replace data $CACHE->cache_replace("cache_hits", $CONFIG['cache_hits'], "0", $CFG_CACHE); $CACHE->cache_replace("db_hits" , $CONFIG['db_hits'] , "0", $CFG_CACHE); } } } // Close database link $close = @mysql_close($link) or ADD_FATAL($F." (".$L."):".mysql_error()); return $close; } // SQL free result function SQL_FREERESULT($result) { $res = @mysql_free_result($result); return $res; } // SQL string escaping function SQL_QUERY_ESC($qstring, $data, $file, $line, $run=true, $strip=true) { global $link; $eval = "\$query = sprintf(\"".$qstring."\""; foreach ($data as $var) { if (!empty($var)) { if ($strip) { $eval .= ", SQL_ESCAPE(\"".strip_tags($var)."\")"; } else { $eval .= ", SQL_ESCAPE(\"".$var."\")"; } } else { $eval .= ", ''"; } } $eval .= ");"; // // Debugging // //$fp = fopen(PATH."escape_debug.log", 'a') or mxchange_die("Cannot write debug.log!"); //fwrite($fp, $file."(".$line."): ".str_replace('\r', '', str_replace('\n', " ", $eval))."\n"); //fclose($fp); eval($eval); if ($run) { // Run SQL query (default) return SQL_QUERY($query, $file, $line); } else { // Return secured string return $query; } } // Get ID from last INSERT command function SQL_INSERTID() { return @mysql_insert_id(); } // Escape a string for the database function SQL_ESCAPE($str) { global $link; if (!is_resource($link)) { // Fall-back to addslashes() when there is no link return addslashes($str); } if (function_exists('mysql_real_escape_string')) { // The new and improved version return mysql_real_escape_string($str, $link); } elseif (function_exists('mysql_escape_string')) { // The obsulete function return mysql_escape_string($str, $link); } else { // If nothing else works return addslashes($str); } } // SELECT query string from table, columns and so on... ;-) function SQL_RESULT_FROM_ARRAY ($table, array $columns, $idRow, $id) { // Prepare the SQL statement $SQL = "SELECT ".implode(", ", $columns)." FROM "._MYSQL_PREFIX."_".$table." WHERE ".$idRow."=%d LIMIT 1"; // Return the result return SQL_QUERY_ESC($SQL, array(bigintval($id)), __FILE__, __LINE__); } // ?>