我正在尝试从SQL数据库读取单列数据,但是对于我来说,它总是返回undefined。
我已经尝试过搜索并且确实尝试使用回调,但是我认为我做错了。
这是我正在使用的代码
if(message.toLowerCase() === "!coins")
{
con.connect(function(err) {
var usernameBal = user['display-name']
con.getUserCoins = function(usernameBal, callback){
con.query("SELECT * FROM users WHERE username =?", [usernameBal],
function(err, results){
callback(undefined, results)
})
}
con.getUserCoins(usernameBal, function(err, results)
{
console.log(results);
console.log(results.coins);
})
//con.query("SELECT * FROM users WHERE username =?", [usernameBal], function (err, result) {
});
}
我期望的是result.coins显示37,因为这是在我的SQL数据库中设置的值。而是返回未定义状态。但是console.log(results)实际上返回
[ RowDataPacket { username: 'Joshj5hawk', coins: '37' } ]
任何提示将不胜感激。在语法等方面,我有一个不错的了解,但这是我第一次涉足MySQL或一般使用数据库。
谢谢!
答案 0 :(得分:1)
尝试一下
results[0].coins instead of results.coins