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的回调函数内调用。你这里没有这样做,当然,可能你在外面的函数有什么特别处理,这个现在没有看到,所以不好说。