if ($info['type'] == 'boolean') {
$update[] = sprintf("%s=%d", $field, $_POST[$field] == 'on'?1:0);
} elseif ($info['type'] == 'number') {
- $update[] = sprintf("%s=%d", $field, $_POST[$field]);
+ if (empty($_POST[$field]) && $info['null'] === true)
+ $update[] = sprintf("%s=NULL", $field);
+ else
+ $update[] = sprintf("%s=%d", $field, $_POST[$field]);
} elseif ($info['type'] == 'passwd') {
if (!empty($_POST[$field]))
$update[] = sprintf("%s='%s'", $field, pg_escape_string(passwd($_SESSION['sys']['login'],$_POST[$field])));
} else {
- $update[] = sprintf("%s='%s'", $field, pg_escape_string($_POST[$field]));
+ if (empty($_POST[$field]) && $info['null'] === true)
+ $update[] = sprintf("%s=NULL", $field);
+ else
+ $update[] = sprintf("%s='%s'", $field, pg_escape_string($_POST[$field]));
}
$sql = 'UPDATE ' . $mask['table'] . ' SET ';
$values[] = $_POST[$field] == 'on'?1:0;
} elseif ($info['type'] == 'number') {
$fields[] = $field;
- $values[] = intval($_POST[$field]);
+ if (empty($_POST[$field]) && $info['null'] === true)
+ $values[] = 'NULL';
+ else
+ $values[] = intval($_POST[$field]);
} elseif ($info['type'] == 'passwd') {
if (!empty($_POST[$field])) {
$fields[] = $field;
}
} else {
$fields[] = $field;
- $values[] = sprintf("'%s'", pg_escape_string($_POST[$field]));
+ if (empty($_POST[$field]) && $info['null'] === true)
+ $values[] = 'NULL';
+ else
+ $values[] = sprintf("'%s'", pg_escape_string($_POST[$field]));
}
$sql = 'INSERT INTO ' . $mask['table'] . ' (' . implode(',', $fields) . ') ';