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(); }) } })
相關文章
相關標籤/搜索