node.js从零开始搭建服务器(详细2)

内容比较冗长,从零搭建,现在我们已经可以进行简单的判断使用服务器,并返回状态,本章期望使用node.js连接mysql数据库,并查询到响应内容。
此部分可能需要你有一定数据库基本知识
管理工具使用的是SQLyog

使用mysql模块连接数据库

安装npm install mysql -s
在indexCtrl.js文件中引入

使用:我们需要知道几个数据库操作的基本步骤:

const sql = require('mysql');引入
//1、创建数据库连接,使用该模块的createConnection方法
//参数:host连接数据库的ip,port连接数据库的端口,user用户名,password密码,database数据库名
let db = sql.createConnection({
    host:'localhost',
    port:'3000',
    user:'root',
    password:'root',
    database:'demotable' //数据库名称
});
//2、打开数据库
db.connect();
//3、操作数据库
//query(sql语句,参数,操作回调(err,success){})
db.query()
//4、关闭数据库
db.end()

创建数据库时createConnection中的对象:
在这里插入图片描述
已知数据库demotable中存在表demo1,demo1表中有一或多条用户数据,
在这里插入图片描述
我们需要通过用户在表单中输入的内容查询在我们的数据库中是否有这条数据,然后返回给浏览器查询状态或者其他信息。
所以在每一次处理判断响应对象的时候,我们都需要构建一次数据库连接

修改之后,我们的indexCtrl.js 就变成了这样:

var sql = require('mysql');
module.exports = {
    login(req,res){ //post
        let username = req.body.username;
        let pwd = req.body.pwd;
        pool('select * from demo1 where ucount = ? and pwd = ?',[username,pwd],res)
    },
    loginG(req,res){ //get
        let username = req.query.username;
        let pwd = req.query.pwd;
        pool('select * from demo1 where ucount = ? and pwd = ?',[username,pwd],res)
    }
};
//公用部分封装
function pool(msql,user,res) {
    let db = sql.createConnection({
        host:'localhost',
        port:'3306',
        user:'root',
        password:'root',
        database:'demotable'
    });
    db.connect();
    db.query(msql,user,(err,data)=>{
    //err为sql语句报错时的错误信息
        if (data.length){
            res.send('登陆成功')
        } else{
            res.send('登陆失败')
        }
    });
    db.end()
}

其他文件没有改变,这时候我们再重新走一遍登陆提交的流程:

重启服务器、刷新页面、输入内容后登陆
我们得到:
在这里插入图片描述
如果想将这条数据返回,直接把查询到的对象返回即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值