不正确的整数(2147483647)入到MySQL中?

2022-08-30 10:49:24

好吧,所以我一直在玩Steam Web API,我有一个值存储在一个名为.当我使用此代码截图将其插入mysql数据库时,它会插入一个与变量中存储的整数完全不同的整数。$steam64

$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";

var_dump($steam64);返回真正的 int,回显它也是如此。不太确定这里发生了什么,任何帮助都是值得赞赏的。


答案 1

2147483647是 mysql 的最大 int 值。只需将类型从 int 更改为 bigint。


答案 2

基于您对“价值被倾销”的评论;您尝试插入的数字对于 32 位系统来说太大。32 位的最大值为 4,294,967,295,64 位的最大值为 18,446,744,073,709,551,615。我建议将列转换为哈希而不是int,或者切换到64位系统。关于最大整数的文章在这里和这里varchar(100)


另外,在我被解雇之前,请务必阅读SQL注入,以防您没有清理直接发布到sql语句中的变量。


推荐