var express = require("express");
var query = require("querystring");
var mysql = require("mysql");
var con = require("./connect.js");
var app = express();

app.listen("8000",function () {
console.log("port is 8000,server is start");
})

app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*")
next();
});

app.post("/login",function(req,res){

var reqData = "";

req.on("data",function (data) {
reqData += data;
})

req.on("end",function () {
//console.log(reqData);
let param = query.parse(reqData);
let username = param.name,
password = param.password;

//通过查询表来判断是否有该用户
con.connect(function (db) {
if(db){
// 数据库链接成功
var sql = `SELECT * FROM USER where User like '${username}' and Password like '${password}'`;
db.query(sql,function (err,results,fields) {

if (err) {
console.log(err);
return;
}
// 没有查询到记录时,则results = []
//console.log(results);
//console.log(results.length);
if(results.length < 1){
res.send("用户名或者密码错误!");
} else {
res.send("登录成功!");
//关闭数据库连接
//db.end();
db.destroy();
}

})
}else{
// 数据库链接失败
console.log('数据库链接失败'+db);
}
});

})

})

connection.js

function connect(callback) {
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database:'mysql'
});
//connection.escape();
connection.connect(function (err) {
if (err) {
callback(null);
}else{
callback(connection);
}
});
}
module.exports.connect = connect;

nodejs连接数据库的更多相关文章

  1. Nodejs连接数据库为何使用连接池

    问题一.nodejs既然是单线程运行,在连接数据库时为何要使用连接池呢? 问题二,redis服务端是单线程运行的,使用连接池到redis,服务端还是串行处理,有什么意义么? 这两个问题都涉及到单线程与 ...

  2. nodejs连接数据库的增删改查

    连接数据库后需要用代码操作的是,传入mysql语句,和参数,然后就是回调了 新增 // 新增 app.post('/process_post', urlencodedParser, function ...

  3. 利用nodejs读取数据库数据生成树结构的json数据

    在做后台管理界面的时候,几乎少不了的一个结构就是树形结构,用来做菜单导航: 那么,最希望的就是树结构的所有数据都是读取的数据库,而不是直接代码当中写死,那我们就一步一步来看: 一,建表 字段通常包括: ...

  4. koa 基础(二十一)nodejs 操作mongodb数据库 --- 查询数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  5. koa 基础(二十)nodejs 操作mongodb数据库 --- 新增数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  6. 学习mysql,记录下常用的命令行语句

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

  7. mongodb的学习-4-使用 MongoDB shell 来连接 Mongodb 服务

    执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息. 使用 MongoDB shell 来连接 Mongodb 服务 标准 ...

  8. express遇到的问题

    1. 如何引入express? cnpm install express --save 其中--save可以保存到依赖项中. 接着 var express = require("expres ...

  9. MongoDB学习day04--NodeJs操作数据库增删改查

    一.在Nodejs中使用Mongodb Nodejs需要引入的包 npm install mongodb --save -dev 或者使用镜像 cnpm install mongodb --save ...

随机推荐

  1. IIS网站无法启动,提示 另一个程序正在使用此文件

    s还用netstat -ano命令,观察哪一个进程正在使用80端口,任务管理中勾选PID,看看是哪个程序,关掉即可

  2. APDU报文【转】

    本文转载自:http://www.cnbolgs.com/snail0404/p/5436348.html APDU   # APDU # 定义:APDU(ApplicationProtocolDat ...

  3. HDU 1379:DNA Sorting

    DNA Sorting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  4. JFreeChart简单用法

    需要用到的包 jfreechart-0.9.20.jar,jcommon-0.9.5.jar 创建一般步骤: 1.生成org.jfree.data.DefaultCategoryDataset对象,方 ...

  5. edittext 底线颜色

    <style name="Custom.Widget.EditView" parent="Widget.AppCompat.EditText" > ...

  6. 4.4 Top-Down Parsing

    4.4 Top-Down Parsing Top-down parsing can be viewed as the problem of constructing a parse tree for ...

  7. 关于Flask的默认session

    Flask的默认session利用了Werkzeug的SecureCookie,把信息做序列化(pickle)后编码(base64),放到cookie里了. 过期时间是通过cookie的过期时间实现的 ...

  8. Java 泛型 五:泛型与数组

    简介 上一篇文章介绍了泛型的基本用法以及类型擦除的问题,现在来看看泛型和数组的关系.数组相比于Java 类库中的容器类是比较特殊的,主要体现在三个方面: 数组创建后大小便固定,但效率更高 数组能追踪它 ...

  9. 10.27night清北刷题班

    /* 枚举每个部分的总和,利用前缀和进行检验. 如果能分成4部分就一定能分成2部分,就筛了一边素数优化.清空数组!!! */ #include<bits/stdc++.h> #define ...

  10. [Swift通天遁地]一、超级工具-(19)制作六种别具风格的动作表单

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...