为什么nodejs连接mysql查询出来的结果和命令行查询不一致?

最近使用nodejs连接mysql,访问禅道系统的数据库做数据统计时遇到奇怪问题
1:禅道系统可以正常使用
2:通过phpmyadmin可以正常访问mysql下的数据库
3:命令行也可以正常访问mysql
4:通过自己写的nodejs就无法正常访问,具体现象是可以连接数据库,也可以查询出具体的数据表中的结果,但是查询出来的结果不正确(直接用调试出的sql语句在phpmyadmin中查询出来的记录数和程序中查询出来的不一致,要少很多),但是我把服务器上的数据库导入到本地的mysql中同样的程序又可以正常访问
5:备注(服务器上的mysql一致无法远程访问,试过网上的各种方法,本人对mysql配置不是很了解)

求解惑,请由此经验的朋友予以解惑,不胜感激!

var express = require('express');
var mysql = require('mysql');
var router = express.Router();
var async = require('async');
require('linqjs');

var pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: '123456',
    database: 'zentao'
});

/* GET home page. */
router.get('/', function (req, res, next) {
    var nowDate = new Date(),
        year = nowDate.getFullYear(),
        month = nowDate.getMonth(),
        queryDate = req.query.date || '',
        date = queryDate !== '' ? queryDate : year + '-' + (month > 10 ? month : '0' + month);
    async.parallel([function (callback) {
        pool.query('select account,realname from zt_user where dept=1', function (err, rows, fields) {
            callback(err, rows);
        })
    }, function (callback) {
        pool.query('SELECT name, status ,assignedTo,finishedBy,finishedDate,estimate,consumed,date_format(finishedDate, "%Y-%m-%d") as finishedDate FROM zt_task WHERE (status = "done" || status = "closed" ) and date_format(finishedDate, "%Y-%m")= "' + date + '"', function (err, rows, fields) {
            callback(err, rows);
        });
    }], function (err, result) {
        if (!err) {           
            res.render('index', { date: date });
        } else {
            res.render('error', {
                error: err.message
            });
        }
    })

});

module.exports = router;
阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏