какой функцией php фильтровать числовые данные при вставке в бд , если число BIGINT UNSIGNED?
________ посл. ред. 13.04.2025 в 20:51; всего 1 раз(а); by SNEG
SNEG (13 апр 2025, в 19:49)
какой функцией php фильтровать числовые данные при вставке в бд , если число BIGINT UNSIGNED?
Учитывая твои предыдущие темы, ты пишешь на пыхе ниже 7, здесь можно использовать вариант, если число в виде строки, то ctype_digit(), если бы версия пыха была выше, можно было воспользоваться встроенными функция типа filter_var()
Тут нужно понимать, чего именно ты хочешь, а уж как фильтровать, способов много
// Проверка, что это положительное целое число
$filtered = filter_var($number, FILTER_VALIDATE_INT, [
'options' => [
'min_range' => 0, // минимум для UNSIGNED
'max_range' => PHP_INT_MAX, // максимум зависит от системы (на 64-бит — 9223372036854775807)
]
]);
if ($filtered === false) {
die('Неверное значение числа!');
}
FILTER_VALIDATE_INT — проверяет, что значение — это корректное целое число.
min_range => 0 — потому что UNSIGNED не допускает отрицательных значений.
max_range зависит от PHP и платформы:
32-бит: PHP_INT_MAX = 2147483647
64-бит: PHP_INT_MAX = 9223372036854775807