
نوشته اصلی توسط
<?php?>
یک فیلد دارم که شماره همراه کاربری رو میگیرم باهاش . میخوام بگم که باید از نوع integer باشه .
من از کد زیر برای این کار دارم استفاده میکنم :
کد PHP:
(int) $_POST['tell']
مشکل اینجاست که وقتی کاربر شمارشو مثلا این اعداد وارد میکنه : 09123203857 در خروجی به این عدد تبدیل میشه : 2147483647
چرا؟
یعنی باید این جور عدد هارو به صورت string ثبت کنم؟ با توابع زیادی تبدیل نوع کردم که نشد - مثلا settype - intval ولی نتیجه مشابه داشت .
دلیلی نداره شماره رو بصورت یه عدد تو دیتابیس ذخیره کنین !
بصورت text ذخیره کنین
وقتی عدد ذخیره میکنین دیتابیس یسری امکاناتی میده که نمیتونه برا عدد های بزرگتر بده ! و اون عدد 2147483647 در واحد زمان هست که حدود 40 سال بعده (بدردتون نمیخوره )