Я использую экспресс на стороне сервера.Вот код:
// router
const database = require('../services/database-service');
router.get('/allreviews', function (req, res, next) {
let reviewsSql =
'select r.reviewId, r.username, r.time, r.reviewText, r.visit, ri.fileName ' +
'from (select min(reviewImgId) as imgId, reviewId ' +
'from ReviewImgs ' +
'group by reviewId) img, Reviews r, ReviewImgs ri ' +
'where img.imgId=ri.reviewImgId and ri.reviewId=r.reviewId;';
database.query(reviewsSql, function (result) {
console.log(result); // NULL
res.send(result);
});
});
// database-service.js
const mysql=require('mysql');
module.exports = {
query: function (sql, data, fn) {
const connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'xxxxxxxxx',
database : 'Movie',
port:'3306'
});
connection.connect();
connection.query(sql, data, function (error, result) {
if (error){
console.log(error);
return;
}
fn(result);
});
connection.end();
}
};
Проблема в том, что результат запроса всегда равен нулю.Тем не менее, я выполняю код запроса sql в командной строке mysql, и в результате получается набор, содержащий 3 строки, и это именно то, что я хочу.Так что же происходит?