求教nodejs连接mysql查询出来的结果和命令行查询结果不一致?

悲剧的码农先生 发布于 2016/05/12 13:25
阅读 898
收藏 0
最近使用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;




加载中
0
悲剧的码农先生
悲剧的码农先生
已解决,原因是服务器端存在2个相同端口的实例,另外一个数据库也有部分数据
0
w
wenjiao
怎么调试sql语句呢
返回顶部
顶部