node.js数据库操作


node 中使用mysql const http
= require('http'); const mysql = require('mysql'); const url = require('url'); const fs = require('fs'); //1.连接到数据库 let db = mysql.createConnection({ host:'localhost', user: 'root', password:'', database:'' }); //连接池【解决并发问题】 /*let db = mysql.createPool({ connerctionLimit: 10,//默认就是10 host:'localhost', user: 'root', password:'', database:'' });*/ //查询 db.query('SELECT * FORM user_Table',(err,data)=>{ if(err){ console.log('错了'); }else{ console.log(data); } }); //2.配合http http.createServer((req,res)=>{ const {pathname,query} = url.parse(req.url,true); if(pathname === '/reg'){ //参数是否正确 let {username,password} = query; if(!username || !password) { res.write('用户和密码不能为空'); res.end(); }else if(username.length>32){ res.write('用户名不能大于32位'); res.end(); }else if(password.length>32){ res.write('密码不能大于32位'); res.end(); }else{ db.query(`SELECT ID FROM user_table WHERE username='${username}'`,(err,data)=>{ if(err){ res.write('数据库有错'); res.end(); }else if(data.length>0){ res.write('用户名已存在'); res.end(); }else{ db.query(`SELECT INFO user_table (username,password) VALUES('${username}','${password}')`,err=>{ if(err){ res.write('数据库有错'); res.end(); }else { res.write('注册成功'); res.end(); } }) } }) } //检查用户名是否存在 }else if(pathname === '/login'){ }else{ fs.readFile('www'+pathname,(err,buffer)=>{ if(err){ res.writeHeader(404); res.write('no found'); }else{ res.write(buffer); } res.end(); }) } }) 3.异步模块(co-mysql) const co = require('co-mysql'); let conn = mysql.createPool({ host:'localhost', user: 'root', password:'', database:'' }); let db = co(conn); http.createServer(async (req,res)=>{ const {pathname,query} = url.parse(req.url,true); if(pathname === '/reg'){ //参数是否正确 let {username,password} = query; if(!username || !password) { res.write('用户和密码不能为空'); res.end(); }else if(username.length>32){ res.write('用户名不能大于32位'); res.end(); }else if(password.length>32){ res.write('密码不能大于32位'); res.end(); }else{ try{ let data = await db.query(`SELECT ID FROM user_table WHERE username='${username}'`); if(data.length>0){ res.write('用户名已存在'); }else{ await db.query(`SELECT INFO user_table (username,password) VALUES('${username}','${password}')`); res.write('注册成功'); } }catch(err){ res.write('数据库有错'); } res.end(); } //检查用户名是否存在 }else if(pathname === '/login'){ }else{ fs.readFile('www'+pathname,(err,buffer)=>{ if(err){ res.writeHeader(404); res.write('no found'); }else{ res.write(buffer); } res.end(); }) } })

 

转载于:https://www.cnblogs.com/jjq-exchange/p/11562997.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值