【发布时间】:2013-09-26 09:05:14
【问题描述】:
php和mysql中最大数量限制的主要目的是什么?
这是否意味着我们可以/不能处理或存储大于限制的数字?
我回显PHP_INT_MAX,它显示2147483647。
我乘以 1000000000000000000000 并得到像 2.147483647E+30 这样的答案,我认为这已经超过了限制?
请指教。
非常感谢您的指导。
当我考虑验证用户表单输入时,就会出现这个问题。我想确保用户输入符合我们定义的数字格式,而不是其他格式。
然后我做了一些在线搜索以寻找最佳实践并意识到这个“限制”,但不知道在使用 PHP 和 MYSQL 时如何正确处理它。请指教:
第 1 步:修剪并将用户表单输入的“字符串数字”转换为数字。
第 2 步:验证数字是否为正整数格式。
第 3 步:验证数量不超过我的“最大限制”。
由于 php 限制 (2,147,483,647) 小于 mysql 限制 (18,446,744,073,709,500,000)?我将 php 作为我的最大限制。
第 4 步:执行一些计算...
第 5 步:验证我的结果没有超过我的最大限制。
第6步:将结果存储在mysql中。
【问题讨论】:
-
有多少个限制?例如,您的意思是整数变量只能将数字保持为某个值吗?
-
目的是填充更少的字节。一个无符号的 tinyint 只有 8 位长(1 个字节),它的最大值只有 255(11111111),而我们使用的字节越多,我们使用的内存就越多。
-
这是因为数字通常存储为 32 位或 64 位有符号/无符号整数或浮点数,因此它们受到用于存储它们的位数的限制
-
2.147483647E+30 不是整数,所以不受整数的限制。