节点JS数据表和MySQL

我即时通讯工作与NodeJS和数据表与MySQL。 我不能从我的服务器获取json数据响应,这是我从console.log得到的错误:

/root/project/node_modules/mysql/lib/protocol/Parser.js:78 throw err; // Rethrow non-MySQL errors ^ Error: ER_EMPTY_QUERY: Query was empty 

这是我的server.js:

  var express = require('express'), var mysql = require('mysql'); var async = require('async'), QueryBuilder = require('datatable'); var tableDefinition = { sTableName: 'users' }; var queryBuilder = new QueryBuilder(tableDefinition); var requestQuery = { iDisplayStart: 0, iDisplayLength: 5 }; var connection = mysql.createConnection({ // CONNECT - MySQL host : 'localhost', user : 'root', password : 'mydatabasepassword', database : 'mydatabasename', }); connection.connect(); /* RETURN - all users */ apiRoutes.get('/users', function(req, res) { /* QUERY - user */ connection.query(queries.changeDatabaseOrSchema,function(err){ if (err) throw err; async.parallel({ recordsFiltered: function(cb) { connection.query(queries.recordsFiltered, cb); }, recordsTotal: function(cb) { connection.query(queries.recordsTotal, cb); }, select: function(cb) { connection.query(queries.select, cb); } }, function(err, results) { if (err) { res.error(err); } else { res.json(queryBuilder.parseResponse(results)); } }); }); }); 

和users.html文件:

 <script> $(document).ready(function() { var oTable = $('#users').dataTable({ 'aoColumnDefs': [ { 'sTitle': 'ID', 'aTargets': [ 0 ], 'sWidth': '1%' }, { 'sTitle': 'Description', 'aTargets': [ 1 ], 'sWidth': '3%' } ], 'bAutoWidth': false, 'bServerSide': true, 'sPaginationType': 'full_numbers', 'aaSorting': [[ 0, 'desc' ]], 'sAjaxDataProp': 'data', 'sAjaxSource': '/api/users?id=1', 'oLanguage': { 'sEmptyTable': 'No users available', 'sLengthMenu': '_MENU_ users', 'sInfo': 'Showing _START_ to _END_ of _TOTAL_ users', 'sInfoFiltered': '(filtered from _MAX_ total users)', 'sInfoEmpty': 'Showing 0 to 0 of 0 users', 'sZeroRecords': 'No matching users found', 'sSearch': '' } }); /* DATATABLES - placeholder */ $('div.dataTables_filter input').attr('placeholder', 'Search').addClass('form-control'); }); </script> 

我使用:“〜”4.14.0“,”mysql“:”2.12.0“,”async“:”〜2.1.4“,”下划线“:”〜1.8.3“

更新:

我尝试使用server.js上的这段代码:

 /* RETURN - all users */ apiRoutes.get('/users', function(req, res) { /* QUERY - user */ pool.getConnection(function(err,connection){ if (err) { connection.release(); res.json({"code" : 100, "status" : "Error in connection database"}); return; } console.log(queries); connection.query(queries.changeDatabaseOrSchema,function(err, row){ connection.release(); res.json(queryBuilder.parseResponse(row)); }); }); }); 

并在server.js console.log我得到这个:

 { recordsTotal: 'SELECT COUNT(id) FROM clients', select: 'SELECT * FROM dealers' } 

并在Chrome JSON从server.js返回我得到这个:

 {"recordsFiltered":0,"recordsTotal":0,"draw":0} 

任何人都知道如何从server.js获得有效的JSON,使铬上的数据表工作?

谢谢。