- $SQL = 'UPDATE `{?_MYSQL_PREFIX?}_admins` SET ';
- foreach ($postData as $entry => $value) {
- // Skip login/id entry
- if (in_array($entry, array('login', 'id'))) {
- continue;
- } // END - if
-
- // Do we have a non-string (e.g. number, NULL, NOW() or back-tick at the beginning?
- if (is_null($value[$id])) {
- // NULL detected
- $SQL .= '`' . $entry . '`=NULL, ';
- } elseif ((bigintval($value[$id], true, false) === $value[$id]) || ($value[$id] == 'NOW()') || (substr($value[$id], 0, 1) == '`')) {
- // No need for ticks (')
- $SQL .= '`' . $entry . '`=' . $value[$id] . ', ';
- } else {
- // Strings need ticks (') around them
- $SQL .= '`' . $entry . "`='" . SQL_ESCAPE($value[$id]) . "', ";
- }
- } // END - foreach
-
- // Remove last 2 chars and finish query
- $SQL = substr($SQL, 0, -2) . ' WHERE `id`=%s LIMIT 1';
+ $SQL = getUpdateSqlFromArray($postData, 'admins', 'id', '%s', array('login', 'id'), $id);