var http=require('http');
var mysql=require('mysql');
var qs=require('querystring');
http.createServer(function(req,res){
res.writeHead(200,{'content-Type':'text/plain','Access-Control-Allow-Origin':'*'});//这个一定要有,响应头部必备
var postdata='';//json字符串
var query=''; //存接受并解析成对象的数据
var userName='';
var sex='';
var iphone='';
var passWord='';
var isExist=false; //判断用户名是否存在
req.on('data',function(data){
//console.log(data) <buff 72 74 85 ......>
postdata+=data;
//console.log(postdata) username=%14%14%14 & sex=%10%10
query=qs.parse(postdata);
//console.log(query) 这是一个对象 {username:'林',iphone:'123485274567'}
userName=query.userName;
sex=query.sex;
iphone=query.iphone;
passWord=query.passWord;
//console.log(userName,sex,iphone,passWord);
})
var conn=mysql.createConnection({
host:'127.0.0.1',
user:'root',
password:'',
port:'3306',
database:'langjie'
})
conn.connect(function(err){
if(err){
console.log('[query]-:'+err);
return;
}
console.log('succeed')
})
conn.query('select userName from login',function(err,rows){ //rows为一个大数组 数组里面是对象 [{},{},{}]
for (var i=0;i<rows.lenth ;i++ )
{
if(rows[i].userName==userName){isExist=true}
}
if(!isExist){
conn.query(`insert into login values (null,"${userName}","${sex}","${iphone}","${passWord}")`);// 这个判断要查询语句里面,不然有问题。两个查询语句一起先后执行有问题
var q = {'d':'succ'} //这个要转换成json 自己手写json在客户端浏览器里面console不出来
res.end(JSON.stringify(q));
console.log("改数据成功")
}else{
var q = {'d':'fail'}
res.end(JSON.stringify(q));
}
})
}).listen('3000',function(){
console.log('server is running')
})注意:在查询语句的外面做判断的话 是先判断在查询自己发现的nodejs服务的问题--1查询语句的嵌套问题+接受的数据该怎么用
最新推荐文章于 2023-05-05 21:36:20 发布
本文介绍了一个使用Node.js创建HTTP服务器的例子,并演示了如何通过MySQL数据库进行用户数据的读取与插入操作。该示例涵盖了请求处理、JSON数据解析、SQL查询执行等关键步骤。
363

被折叠的 条评论
为什么被折叠?



