猿问

NodeJS MySQL在传递整数进行查询时返回空数组

第二次编辑

该问题是由 MAX_INTEGER_VALUE 引起的,该值低于我传递的整数值。我将 MySQL 表列更改为TEXT而不是,BIGINT并且所有内容都正确返回。

感谢所有的帮助!

编辑

所以我刚刚意识到使用这行代码传递userID变量和guildID变量。

mysqlModule.userCrewSearch(575783451018526744, 282997056438665217);

但是,提供给 SQL 语句的值将数字的最后两位数字转换为“00”。因此,不是575783451018526744传递到 SQL 语句的值是575783451018526700.

那么当我在代码中所做的任何事情都没有改变这些值时,为什么要改变这个值呢?



慕容3067478
浏览 300回答 2
2回答

饮歌长啸

我几天前面临的同样问题。我已经通过将参数转换为字符串来解决这个问题。function userCrewSearch(String(guildID), String(userID)) {       //  your code here }

潇湘沐

尝试在数字参数之前添加 +,它会转换为数字,对我有用-connection.query(sql, [+guildID, +userID], function(err, results) {对于您的奖励问题答案,您可以直接访问机组 ID 或使用其他密钥,results[0].crewID或做类似的事情 -const [ result ] = results; console.log(result.crewID)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答