какой функцией 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