Духовность™
Продвинутый новичок
числовые типы данных PHP и Mysql
Поскольку в PHP и Mysql на 32 системах можно работать с разными типами данных, меня смутили некоторые вещи. Ну, например есть у нас в базе ID = 18446744073709551615 (это bigint, unsigned)
и мы хотим сделать SQL запрос на выборку. ID пришел из REQUEST и мы хотим его "обеззаразить". Как это сделать "чистыми" средствами PHP? Я добился этого только с помощью расширения filter. Это нормально или я туплю?
Поскольку в PHP и Mysql на 32 системах можно работать с разными типами данных, меня смутили некоторые вещи. Ну, например есть у нас в базе ID = 18446744073709551615 (это bigint, unsigned)
и мы хотим сделать SQL запрос на выборку. ID пришел из REQUEST и мы хотим его "обеззаразить". Как это сделать "чистыми" средствами PHP? Я добился этого только с помощью расширения filter. Это нормально или я туплю?
PHP:
<?php
error_reporting (E_ALL);
$request_id = '18446744073709551615какашки';
var_dump($request_id);
$int = intval($request_id);
var_dump($int); // int 2147483647
echo '<br>';
$new = 0 + $request_id;
var_dump($new); // float 1.84467440737E+19
echo '<br>';
$filter = filter_var($request_id, FILTER_SANITIZE_NUMBER_INT);
var_dump($filter); // string '18446744073709551615'
?>