如何在mysql数据库中获取帐户

到多瓦克

我正在使用带有expressdocker 的三层架构来实现一个网络应用程序我也在使用mysql来存储帐户。这是我的initialize-database.sql文件:

CREATE TABLE accounts(
    personId INT NOT NULL,
    username VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    userPassword VARCHAR(255) NOT NULL,    
    CONSTRAINT id_pk PRIMARY KEY (personId)
)

在我的数据访问层中,我有将查询发送到数据库帐户存储库文件:

const db = require('./db')
exports.getAccount = function(username, userPassword, callback){

    const query = "SELECT * FROM accounts WHERE username = ? AND userPassword = ?"
    const values = [username, userPassword]

    db.query(query, values, function(error, account){

        if(error){
            callback("DatabaseError", null)
        }else{
            callback(account)
        }
    })
}

现在在我的app.js文件中,我想在登录时检查该帐户是否存在:

app.post("/login", function(request, response){

    var username = request.body.username
    var userPassword = request.body.password
    if (username && userPassword) {
        account.getAccount(username, userPassword, function(error, result){

            if(error){
                response.send("<h1>Error with database</h1>")
            }
            if(result){
                request.session.isLoggedIn = true
                request.session.username = username
                response.redirect("/")
            }
        })
    }   
})

但在这里我收到一个错误,指出 result 为null我究竟做错了什么?

提前致谢!

特里·伦诺克斯

这应该是一个简单的修复,您只需要像这样更改 getAccount 函数:

const db = require('./db')
exports.getAccount = function(username, userPassword, callback){

    const query = "SELECT * FROM accounts WHERE username = ? AND userPassword = ?"
    const values = [username, userPassword]

    db.query(query, values, function(error, account){

        if(error){
            callback("DatabaseError", null)
        }else{
            callback(null, account)
        }
    })
}

回调的第一个参数应该是发生的任何错误,因此当查询成功时它应该为

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Hibernate中从数据库中获取数据

如何在Wordpress中借助wp-config文件获取mysql数据库数据

如何在本机反应中从数据库mysql获取图像数据

如何在Codeigniter中获取MySQL数据库的第N行中添加条件

如何基于数组从mysql数据库中获取数据

如何使用php从mysql数据库中获取数据

如何使用mysql数据库在AutoCompleteTextView中获取数据?

如何在java中的数据库中获取svg

如何在MySQL数据库(Java)中获取所有行

如何在MySQL中获取非系统数据库的列表?

如何在codeigniter中查询(获取)mysql数据库的多个表作为单个表

如何在数据库字段+ mysql中获取realesacpe值

如何在多个表行中通过选择(mysql 数据库)获取动态值

如何在MySQL数据库中输入$ _POST数据

如何在mysql数据库中添加json数据

如何在异常捕获中获取数据库引用?

如何在Fixtures Symfony中从数据库获取对象

如何在Firebase数据库中获取列表项

如何在Accumulo中获取数据库查询的计数

如何在Firebase数据库中获取嵌套键

如何在PHP中获取基本的数据库信息

如何在SQL Alchemy中获取数据库大小?

如何在Django数据库中获取对象的ID

如何从MySQL数据库中获取索引和名称?

如何通过查询获取MySQL中的数据库结构

如何从PHP中的MySQL数据库获取图像

如何获取数据库中多列的Mysql SUM

如何从MySQL中的数据库获取最近的坐标?

如何在Firebase实时数据库中存储用户的提供商帐户?