不正确的整数(2147483647)被插入到 MySQL 中? [英] Incorrect Integer (2147483647) is inserted into MySQL?

查看:18
本文介绍了不正确的整数(2147483647)被插入到 MySQL 中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好吧,所以我一直在玩弄 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 中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆