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

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

var_dump($steam64);返回真正的整数,回声也是如此.不太清楚这里发生了什么,非常感谢您的帮助.

推荐答案

基于你对"价值被抛弃"的 comments ;您试图插入的数字对于32位系统来说太大.32位的最大值为4,294,967,295,64位的最大值为18,446,744,073,709,551,615.我建议您将列转换为varchar(100)哈希而不是int,或者转换为64位系统.Great篇关于max ints herehere的文章.


此外,在我被激怒之前,请务必阅读SQL injection,以防您没有清理直接发布到sql语句中的变量.

Mysql相关问答推荐

MySQL查询基于上次访问时间戳更新用户的问题

如何在Sequelize中创建限制查询?

仅获取我不是最后一个 comments 者的博客帖子

如何查询一行

在两个日期之间生成每个月的1行数据.

发生的原因及解决方法

MySQL 关于 JSON 数组和子查询的问题

按相关表中的计数和特定值过滤

是否可以使用以EXPLAIN EXTENDED ...开头的 SQL 语句修改数据?

java.lang.NullPointerException:无法调用com.proj.my.repository.OrderRepository.save(Object),因为this.orderRepository为空

将sql查询转换为sequelize

从多到多表中 Select 数据而无需重复

如何使用nodejs从mysql数据库中获取最新的10条记录?

用序列号mysql更新列

MySQL SELECT 增量计数器

mysql中float(2,2)和float()的区别

MySQL行格式:固定和动态之间的区别?

在 MySQL 中找不到 outfile 创建的文件

如何计算表格的列数

我在哪里可以下载 mysql jdbc jar?