我想检查用户是否在我的数据库中。结果在 rowDataPacket。如果用户不存在,则为0;如果用户不存在,则为1。 我如何访问此值?
connection.query("SELECT EXISTS(SELECT 1 FROM users WHERE name = ?)", username, function (err, result) {
if (err) {
console.error(err);
return;
}
console.log(result[0]); // miserable attempts
console.log(result[0].body);
console.log(result[0].log);
输出:
RowDataPacket { 'EXISTS(从用户名= \'Test_user_name \'的用户中选择1个)':0} 未定义 未定义
如何仅访问返回值0或1(在上述情况下为0)
提前感谢:)
编辑: 我一直在寻找一种更清洁的解决方案,但这行得通:
var str = JSON.stringify(result[0]);
var userExist = str[str.length - 2];
使用stringify时,请不要忘记安装模块
安装:
$ npm install json-stringify --save
答案 0 :(得分:0)
您可以在查询中使用关键字“ AS”,例如:
SELECT EXISTS(SELECT 1 FROM smm.fb_users WHERE id = ?) AS cnt
然后您可以像这样访问值:
console.log(results[0].cnt);