#mysql #node.js
#mysql #node.js
Вопрос:
Я новичок в NodeJS, и мне было поручено заменить существующие жестко закодированные данные данными, извлекаемыми из базы данных MySQL. Данные отображаются соответствующим образом в пользовательском интерфейсе при передаче жестко закодированных данных.
Ниже приведен жестко закодированный код, который я пытаюсь заменить
router.route('/vehicles').get(function(req,res){
var category = req.param("category");
var term = req.param("term");
var vehicles = [
{id:1,name:"Test1",price:120,image:"image1",category:"Petrol"},
{id:2,name:"Test2",price:100,image:"image2",category:"Diesel"},
]
res.send(vehicles);
});
Вот код для извлечения из базы данных Mysql
router.route('/Vehicles').get(function(req,res){
var category = req.param("category");
var term = req.param("term");
var query = 'select * from cars where category='' category ''';
var Vehicles = connection.query(
query,
function(err,result){
if(err) {
res.send({message: err});
return;
}else {
res.send(result[0]);
}
}
);
});
При замене приведенным выше кодом Sql я не вижу никаких данных, заполняемых в пользовательском интерфейсе. Я создал таблицу и вставил в нее некоторые значения. По-прежнему не вижу никаких данных.
Вот мой connection.js
var mySql = require('mysql');
var connection = mySql.createConnection({
host : "localhost",
user : "root",
password : "root",
database : "test_db"
});
connection.connect();
Любая помощь будет очень признательна. Спасибо!!
Ответ №1:
попробуйте это.
db.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'xxxx',
password : 'xxx@123',
database : 'xxxxx'
});
var db = function() {
}
db.getConnection = function () {
return connection.connect();
}
module.exports = db;
server.js
var connection = require('./db');
var db = connection.getConnection();
router.route('/Vehicles').get(function(req,res){
var category = req.param("category");
var term = req.param("term");
db.query(
'select * from cars where category= ?',[category],
function(err,result){
if(err)
res.send({message: err});
else
res.send(result[0]);
});
});
Комментарии:
1. Я попробовал приведенный выше код, но все равно не могу видеть данные в пользовательском интерфейсе. Я действительно упускаю что-то глупое здесь.
2. попробуйте распечатать на консоли и посмотреть, получаете вы данные или нет