При передаче параметра в сниппет он передаётся не как тип данных (int), а как (string), при всём при этом тип данных никак не хочет меняться, то есть если меняем тип данных (любым из известных мне способов) в переменной оказывается символ «0» и всё тут… к тому-же заметил ещё такое: если сравниваешь эту переменную с другой (по идее на взгляд одно и то-же число там) — они не равны друг другу (и так "==", и так "==="), плюс к тому-же var_dump() показывает мне вот такую картину об этой переменной — string(17) «2159». Отсюда можно понять, что там 17 символов, хотя на взгляд — 4. Другие же переменные, полученные из базы в этом сниппете var_dump() определяет верно — string(4) «2158».