X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fsql-functions.php;h=d0f720ed05bb23d7b232c755c02bc9a51c51db8e;hb=7a27c44db48d021c1e54a76916914ef41ff49372;hp=75118871d76f1209baddcd6d62cbff808b1cf8c7;hpb=227dffb89743fab3c52072955f80f6913d7380db;p=mailer.git diff --git a/inc/sql-functions.php b/inc/sql-functions.php index 75118871d7..d0f720ed05 100644 --- a/inc/sql-functions.php +++ b/inc/sql-functions.php @@ -136,25 +136,31 @@ function getUpdateSqlFromArray ($array, $tableName, $whereColumn, $whereData, $e continue; } // END - if - // Do we have a non-string (e.g. number, NULL, NOW() or back-tick at the beginning? + // Do we have a non-string (e.g. number, NULL, SQL function or back-tick at the beginning? if (is_null($multiDimId)) { // Handle one-dimensional data if (is_null($value)) { // NULL detected $SQL .= '`' . $entry . '`=NULL,'; - } elseif (('' . bigintval($value, true, false) . '' == '' . $value . '') || ($value == 'NOW()') || (substr($value, 0, 1) == '`')) { + } elseif ((substr($value, -2, 2) == '()') || (substr($value, 0, 1) == '`')) { + // SQL function needs no ticks (') + $SQL .= '`' . $entry . '`=' . SQL_ESCAPE($value) . ','; + } elseif ('' . bigintval($value, true, false) . '' == '' . $value . '') { // No need for ticks (') $SQL .= '`' . $entry . '`=' . $value . ','; } else { // Strings need ticks (') around them - $SQL .= '`' . $entry . "`='" . SQL_ESCAPE($value) . "', "; + $SQL .= '`' . $entry . "`='" . SQL_ESCAPE($value) . "',"; } } else { // Handle multi-dimensional data if (is_null($value[$multiDimId])) { // NULL detected - $SQL .= '`' . $entry . '`=NULL, '; - } elseif (('' . bigintval($value[$multiDimId], true, false) . '' == '' . $value[$multiDimId] . '') || ($value[$multiDimId] == 'NOW()') || (substr($value[$multiDimId], 0, 1) == '`')) { + $SQL .= '`' . $entry . '`=NULL,'; + } elseif ((substr($value[$multiDimId], -2, 2) == '()') || (substr($value[$multiDimId], 0, 1) == '`')) { + // SQL function needs no ticks (') + $SQL .= '`' . $entry . '`=' . SQL_ESCAPE($value[$multiDimId]) . ','; + } elseif (('' . bigintval($value[$multiDimId], true, false) . '' == '' . $value[$multiDimId] . '')) { // No need for ticks (') $SQL .= '`' . $entry . '`=' . $value[$multiDimId] . ','; } else { @@ -189,6 +195,9 @@ function getInsertSqlFromArray ($array, $tableName) { if (is_null($value)) { // Add NULL $SQL .= 'NULL,'; + } elseif (substr($value, -2, 2) == '()') { + // SQL function needs no ticks (') + $SQL .= SQL_ESCAPE($value) . ','; } elseif ('' . bigintval($value, true, false) . '' == '' . $value . '') { // Number detected, no need for ticks (') $SQL .= bigintval($value) . ',';