Номерът на кредитната карта не е "число" в математическия смисъл, а просто е низ от цифри. Никога не е нужно да питате "какъв е номерът на тази карта плюс едно?" или "...по две?", но може да искате да попитате "кои са първите четири цифри от номера на тази карта?" или "последните четири...?"
Ако го третирате като число, то ще бъде число, много по-голямо от това, с което обикновено работите:44443333322221111 (номер на тестова карта Visa) е „4 квадрилиона 444 трилиона 333 милиарда 322 милиона 221 хиляди 1 сто и 11“.
Важно е, че най-голямото число, което може да бъде съхранено в подписано 32-битово цяло число - което получавате, когато посочите "int" в SQL - е само повече от 2 милиарда, така че номерът на картата не е близо до подходящ. Вашата база данни или ще ви даде грешка, или просто ще съхрани някакъв друг номер, който се вписва - във вашия случай, тя просто съхранява най-голямото число, което може.
Можете да промените колоната си на "bigint" (64-битов знак, максимална стойност около 9 квинтилиона), но е по-добре да ги третирате като низове във вашия PHP и VarChar във вашата база данни.