SQL_ESCAPE() rewritten for better caching of float numbers
[mailer.git] / inc / db / lib-mysql3.php
index a5b6d67c78624631f7993732ad1a4034d68f4137..a0f4499b147e583f014001c6f179f54888486c07 100644 (file)
@@ -344,37 +344,34 @@ function SQL_INSERTID () {
 // Escape a string for the database
 function SQL_ESCAPE ($str, $secureString=true, $strip=true) {
        // Do we have cache?
-       if (isset($GLOBALS['sql_escapes'][$str])) {
-               // Then use it instead
-               return $GLOBALS['sql_escapes'][$str];
-       } // END - if
-
-       // Secure string first? (which is the default behaviour!)
-       if ($secureString === true) {
-               // Then do it here
-               $str = secureString($str, $strip);
-       } // END - if
+       if (!isset($GLOBALS['sql_escapes'][''.$str.''])) {
+               // Secure string first? (which is the default behaviour!)
+               if ($secureString === true) {
+                       // Then do it here
+                       $str = secureString($str, $strip);
+               } // END - if
 
-       if (!SQL_IS_LINK_UP()) {
-               // Fall-back to smartAddSlashes() when there is no link
-               $ret = smartAddSlashes($str);
-       } elseif (function_exists('mysql_real_escape_string')) {
-               // The new and improved version
-               //* DEBUG: */ print(__FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):str={$str}<br />");
-               $ret = mysql_real_escape_string($str, SQL_GET_LINK());
-       } elseif (function_exists('mysql_escape_string')) {
-               // The obsolete function
-               $ret = mysql_escape_string($str, SQL_GET_LINK());
-       } else {
-               // If nothing else works, fall back to smartAddSlashes() again
-               $ret = smartAddSlashes($str);
-       }
+               if (!SQL_IS_LINK_UP()) {
+                       // Fall-back to smartAddSlashes() when there is no link
+                       $ret = smartAddSlashes($str);
+               } elseif (function_exists('mysql_real_escape_string')) {
+                       // The new and improved version
+                       //* DEBUG: */ print(__FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):str={$str}<br />");
+                       $ret = mysql_real_escape_string($str, SQL_GET_LINK());
+               } elseif (function_exists('mysql_escape_string')) {
+                       // The obsolete function
+                       $ret = mysql_escape_string($str, SQL_GET_LINK());
+               } else {
+                       // If nothing else works, fall back to smartAddSlashes() again
+                       $ret = smartAddSlashes($str);
+               }
 
-       // Cache result
-       $GLOBALS['sql_escapes'][$str] = $ret;
+               // Cache result
+               $GLOBALS['sql_escapes'][''.$str.''] = $ret;
+       } // END - if
 
        // Return it
-       return $ret;
+       return $GLOBALS['sql_escapes'][''.$str.''];
 }
 
 // SELECT query string from table, columns and so on... ;-)