问题描述
好吧,所以我一直在玩弄 Steam Web API,我将其中一个值存储在一个名为 $steam64
的变量中.当我使用此代码剪辑器将其插入到 mysql 数据库中时,它会插入一个与变量中存储的完全不同的整数.
Alright, so I've been toying around with the Steam Web API, I have one of the values stored in a variable called $steam64
. When I use this code snipper to INSERT it into a mysql database it insert a completley different integer than what is stored in the variable.
$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";
var_dump($steam64);
返回真正的 int,回显它也是如此.不太清楚这里发生了什么,感谢任何帮助.
var_dump($steam64);
returns the real int, so does echoing it. Not too sure what is going on here, any help is appreciated.
推荐答案
基于您的价值被倾销"的评论;您尝试插入的数字对于 32 位系统来说太大了.32 位的最大值为 4,294,967,295,64 位的最大值为 18,446,744,073,709,551,615.我建议将您的列转换为 varchar(100)
哈希而不是 int,或者切换到 64 位系统.很棒的文章关于最大整数 这里和这里.
Based on your comment of "value being dumped"; the number you are trying to insert is too large for 32-bit systems. The max for 32-bit is 4,294,967,295, and the max for 64-bit is 18,446,744,073,709,551,615. I'd recommend converting your column into a varchar(100)
hash rather than an int, or switch to a 64 bit system. Great article about max ints here, and here.
另外,在我被激怒之前,请务必阅读 SQL 注入,以防万一您没有清理直接发布到 sql 语句中的变量.
Also, before I get flamed, be sure to read up on SQL injection in case you are not sanitizing variables being posted directly into sql statements.
这篇关于不正确的整数(2147483647)被插入到 MySQL 中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!