node.js - node中的mysql操作遇到解决不了的问题了,大神们求解决!!

查看:112
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆