Incorrect Integer (2147483647) is inserted into 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 中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:不正确的整数(2147483647)被插入到 MySQL 中?
基础教程推荐
- 在PHP中根据W3C规范Unicode 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何替换eregi() 2022-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
