node.js - node中的mysql操作遇到解决不了的问题了,大神们求解决!!
本文介绍了node.js - node中的mysql操作遇到解决不了的问题了,大神们求解决!!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var mysql=require('mysql');
var querystring=require('querystring');
var connection=mysql.createConnection({
host:'localhost',
user:'root',
password:'123456',
port:'3306',
database:'wxData',
});
connection.connect(function (err) {
if (err) {
console.log('connect error:'+err.message);
}
return;
});
function insertdata(token) {
var slect ='select * from token';
var update='UPDATE token SET access_token=? WHERE id=1';
var insertString='INSERT INTO token (id, access_token) VALUES (0,?)' ;
var value=[token];
//select mysql
connection.query(slect,function (err,result) {
if (result) {
// update mysql
connection.query(update,value,function (err,result) {
console.log(result)
});
}else{
//insert mysql
connection.query(insertString,value,function (err,result) {
console.log('insert result:'+result);
});
}
});
connection.end();
}
module.exports.insertdata=insertdata;
当我的数据库里有数据并且可以查询出来,但为什么我接下来的更新操作执行不了,输出的结果总是undefined?求解答!!!
解决方案
你的代码不全,但从中看出,你对JS的异步调用不是很了解,这种异步是以回调函数的形式存在,而你正常的调用insertdata要在connect 成功之后,调用 ,也就是connect的回调函数内调用。你这里没有这样做,当然,可能你在外面的函数有什么特别处理,这个现在没有看到,所以不好说。
这篇关于node.js - node中的mysql操作遇到解决不了的问题了,大神们求解决!!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文