$_GET[id];
$id=(int)$_GET['id'];
mysql store - int
我有一个关于将字符串转换为整数的问题。
(转换帖子 ID 以确保用户不发送字符串(
和 MySQL 存储类型 - int
我注意到如果 id 大于 2147483647,数字就会变得疯狂。
如果网站帖子超过 2147483647 怎么办?
有什么方法可以将其转换为 bigint? 或者我不应该将字符串转换为 int?
我是否需要将 mysql 存储类型更改为 - bigint?
MySql 中的已签名INT
最多只能达到 2^31,所以是的 - 您必须将列转换为 BIGINT
.
除此之外,您还必须处理PHP的限制。PHP 中的整数不能大于 PHP_INT_MAX
(确切的值取决于环境(,因此如果您坚持使用原语,大于该值的数字必须以字符串或浮点形式进行处理。将值保留为字符串应该是可以的,因为它是一个 id,并且您不会使用 id 进行数学运算。