nodejs连接数据库
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连接数据库的更多相关文章
- Nodejs连接数据库为何使用连接池
		
问题一.nodejs既然是单线程运行,在连接数据库时为何要使用连接池呢? 问题二,redis服务端是单线程运行的,使用连接池到redis,服务端还是串行处理,有什么意义么? 这两个问题都涉及到单线程与 ...
 - nodejs连接数据库的增删改查
		
连接数据库后需要用代码操作的是,传入mysql语句,和参数,然后就是回调了 新增 // 新增 app.post('/process_post', urlencodedParser, function ...
 - 利用nodejs读取数据库数据生成树结构的json数据
		
在做后台管理界面的时候,几乎少不了的一个结构就是树形结构,用来做菜单导航: 那么,最希望的就是树结构的所有数据都是读取的数据库,而不是直接代码当中写死,那我们就一步一步来看: 一,建表 字段通常包括: ...
 - koa 基础(二十一)nodejs 操作mongodb数据库 --- 查询数据
		
1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...
 - koa 基础(二十)nodejs 操作mongodb数据库 --- 新增数据
		
1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...
 - 学习mysql,记录下常用的命令行语句
		
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...
 - mongodb的学习-4-使用 MongoDB shell 来连接 Mongodb 服务
		
执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息. 使用 MongoDB shell 来连接 Mongodb 服务 标准 ...
 - express遇到的问题
		
1. 如何引入express? cnpm install express --save 其中--save可以保存到依赖项中. 接着 var express = require("expres ...
 - MongoDB学习day04--NodeJs操作数据库增删改查
		
一.在Nodejs中使用Mongodb Nodejs需要引入的包 npm install mongodb --save -dev 或者使用镜像 cnpm install mongodb --save ...
 
随机推荐
- MariaDB -- 数据类型
			
Mariadb 的数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型 整数:int, bit 小数:d ...
 - Linux watchdog 6300esb
			
 基本原理: Linux 自带了一个 watchdog 的实现,用于监视系统的执行,包含一个内核 watchdog module 和一个用户空间的 watchdog 程序.内核 watchdog ...
 - MySQL 中间层 Atlas MySQL
			
Atlas MySQL 详细介绍 Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0. ...
 - Copy Selected Text from any window
			
https://social.msdn.microsoft.com/Forums/windows/en-US/1dc356e6-9441-44de-9eda-247003fa6ef5/copy-sel ...
 - go8---函数function
			
package main /* 函数function Go 函数 不支持 嵌套.重载和默认参数. 但支持以下特性: 无需声明原型(C语言在使用函数之前需要声明函数的原型).不定长度变参.多返回值.命名 ...
 - Android 修改开机动画(bootanimation)【转】
			
本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 Android 系统自带的开机动画,是一个白色的 “android” 文字 ...
 - [测试]单元测试框架NUnit
			
说到测试,相信大家都或多或少了解. 按照各自分类,就自己知道包括 A.单元测试.集成测试.系统测试 B.白盒测试.黑盒测试 C.压力测试.性能测试.安全测试 ...... 反正是太多太多.就做开发以来 ...
 - PCB 机器学习(ML.NET)初体验实现PCB加投率预测
			
使用ML.NET建立PCB加投率模型对单一蚀刻工序进行加投率预测, 此实例为最简单预测,要想实现全流程加投率预测挑战难度还是挺大的,可以查看另一种关于大数据在PCB行业应用---加投率计算基本原理:P ...
 - macbookpro安装Ubuntu16.04.1 LTS爬坑之旅。亲测有效(集众家之长)。安装时间为2017-11-19。
			
1.格式化U盘 要求:(1)切换分区格式为Mac OS扩展 (日志型):(2)方案(scheme)设置为:GUID Partition Map:如图(使用mac自带磁盘工具) 2.给Ubuntu划分磁 ...
 - centos 7 配置php
			
对于我们的目的而言,安装 Apache 只需要在 CentOS 命令终端敲入这条命令就行了: $ sudo yum install httpd $ sudo systemctl enable http ...