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

Incorrect Integer (2147483647) is inserted into MySQL?(不正确的整数(2147483647)被插入到 MySQL 中?)
本文介绍了不正确的整数(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 中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)