【问题标题】:Node.JS and MYSQL How do I store a column value into a variableNode.JS 和 MYSQL 如何将列值存储到变量中
【发布时间】:2022-01-04 22:53:53
【问题描述】:

所以我一直在为一家理论银行开发注册/登录系统,我正在尝试为正在注册的用户创建帐户并将其添加到他们的用户 ID 下,但是我不确定如何使用从数据库中查询并将其放入变量中,这样我就可以做到这一点。

这或多或少是我试图做到的。但是我不确定如何将我获取的信息放入 userID 变量中

db.query('Select userID FROM users WHERE userEmail = ?', email, (error, results) => {
        if (error) {
            console.log(error);
        }

        var userID = <userID from the database>

        if(userID !== undefined)
        {
            db.query('INSERT INTO accounts SET ?', {users_userID: userID, accountType: 'Checking', accountBalance: 100}, (error, results) =>{
                console.log('creating checking');
                if (error) {
                    console.log(error);
                }
            });

            db.query('INSERT INTO accounts SET ?', {users_userID: userID, accountType: 'Savings', accountBalance: 100}, (error, results) =>{
                console.log('creating savings');
                if (error) {
                    console.log(error);
                }
            });
        }
    });

【问题讨论】:

  • 附带说明:注意第二个 if 语句中的背靠背非嵌套 db.query。在这种情况下,这似乎无关紧要,但是您会遇到这样的情况,即第二个将首先发生,或者第一个可能会失败,而第二个可能会插入(如果您放弃了储蓄而只进行了检查,这可能会出现问题) .

标签: javascript mysql node.js


【解决方案1】:

results 变量应包含从 db 查询中检索到的数据。

示例(如果有一个名为“userID”的字段):

db.query(... (error, results) => {
    var userID = results[0].userID;
}

【讨论】:

  • 好吧,我想我只是错过了数组,这就是为什么它出现为未定义的原因。让我试试看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 2019-03-23
  • 2020-02-18
相关资源
最近更新 更多