2021-03-19nodejs处理get_post和mysql链接

1.module.export

function fun() {
    console.log(100);
}

// 导出模块 统一的导出方式
module.exports = {
    fun
}

//  导出一个功能函数
// module.exports = () => {
//     console.log("导出函数");
// }

2.server

const http = require("http");
const url = require("url");
const querystring = require("querystring");

// get请求的数据是拼接在url地址后边,以 ? 作为连接, 多个数据之间 使用 & 符号连接

// http.createServer((req, res) => {
//     //  处理用户get的请求  传递的数据 在query字段中
//     let query = url.parse(req.url, true).query;
//     console.log(query);
//     res.writeHead(200, { "Content-type": "text/plain;charset=utf-8" });
//     let acount = {
//         name: "张三",
//         pwd: "123"
//     }
//     if (query.user == acount.name) {
//         if (query.pwd == acount.pwd) {
//             res.write(`欢迎${query.user}`)
//             res.end();
//         } else {
//             res.write("用户名或者密码错误")
//             res.end();
//         }
//     } else {
//         res.write("用户名或者密码错误")
//         res.end();
//     }
// }).listen(3000, () => {
//     console.log("server ...");
// })


//  post请求的数据 是添加到 请求体中   
http.createServer((req, res) => {
    //  解决跨域问题处理 
    res.setHeader("Access-Control-Allow-Origin", "*")
        //  处理用户post 的请求 
    let body = '' // 变量body 用来接收存储用户传递的数据

    //  监听data事件: 当有数据可读时触发。
    req.on('data', (chunk) => {
        body += chunk;
    })

    //  监听end 事件:没有更多的数据可读时触发。
    req.on('end', () => {
        //  user=张三&pwd=123  ====> user:张三, pwd:123
        body = querystring.parse(body);
        console.log(body);
        res.writeHead(200, { 'Content-type': 'text/plain;charset=utf-8' })
            //  判断用户名或者密码是否正确 
            //  如果是前后端交互, 通过 res.write() 或者是 res.end() 方法 返回数据
        res.write(`欢迎${body.user}`)
        res.end()
    })



}).listen(3000, () => {
    console.log('server running ...');
})

mysql

const mysql = require("mysql");

//  创建数据库链接
const conn = mysql.createConnection({
    //  数据库链接的配置项
    host: "localhost", // 服务器地址,
    user: "root", // 用户名
    password: "root", // 密码
    database: "test", // 链接的数据库名字
})

//  建立链接
conn.connect();

//  执行操作: 增删改查  执行一个方法 query 方法, 当我们执行query()方法时会自动建立链接
//  query()方法的参数: 第一个参数 sql 
// conn.query(sql, (err, result) => {
//     // err 失败
//     // result 成功   如果执行的是查询语句 select, result是一个结果集(数据)(数组,数组中的每个值是一个对象,每个对象代表一条记录) 如果执行的 insert  update  delete 语句; result 是一个执行的结果(状态)
//     if (err) {
//         console.log(err);
//         return;
//     }
//     console.log(result);
// })

//  查询语句
// let sql = "select * from student";
// 插入语句
// let sql = 'insert into student values("张三 ","2020-2-2 10:10:10 ","男")'
//  修改语句
// let sql = 'update student set Sname = "李四"where Sid = "09"'
//  删除语句
let sql = 'delete from student where Sid="09"'
conn.query(sql, (err, result) => {
    if (err) {
        console.log(err);
        return;
    }
    console.log(result);
    /* 
     OkPacket {
        fieldCount: 0,
        affectedRows: 1,  // 受影响的行数  通过该字段可以判断操作是否成功
        insertId: 0,
        serverStatus: 2,
        warningCount: 0,
        message: '',
        protocol41: true,
        changedRows: 0  // 改变的函数  执行update语句时
    }
     */
})

nodejs-mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值