Подключение к бд:
var config = require('config');
var mysql = require('mysql');
var connection;
function conn_db(){
connection = mysql.createConnection(config.get('mysql'));
connection.on('error', function(e) {
if(e) console.error('Ошибка БД: '+e.code);
});
connection.connect(function(e){
if(e) console.error('Ошибка подключения к БД: '+e.code);
});
}
function sql(sql,callback){
conn_db();
connection.query(sql, function(err, rows) {
if(err) console.error('Ошибка выполнения запроса к БД: '+err.code);
callback(err, rows);
});
connection.end();
}
exports.db = sql;
Модель:
var db = require('../models/mysqlDriver').db;
exports.getAll = function(name,cb) {
var result = {};
db("SELECT * FROM hub_list WHERE hub_list.hub_link = '" + name + "' LIMIT 1", function(err, rows){
if (err) {
console.log(err);
return;
}
else if(!rows.length){
return;
}
else if(rows.length){
// console.log(rows);
result.hub = rows;
db("SELECT * FROM hub_posts,users WHERE hub_posts.post_hub_id = '" + rows[0].hub_id + "' AND users.user_id = hub_posts.post_author_id ORDER BY hub_posts.post_date_create DESC LIMIT 12", function(err, posts){
if (err) {
console.log(err);
return;
}
// console.log(posts);
result.posts = posts;
cb(err, result);
});
}
});
};
Контроллер:
var modelHub = require('../models/hub');
exports.getAll = function(req, res) {
modelHub.getAll(req.params.link, function(err, rows) {
if (err) {
console.log(err);
return res.status(500);
}
// console.log(rows);
res.render('hub', {
title: 'Хабы',
data: rows
});
});
};
Роутер:
module.exports = function (app) {
app.get('/', require('./main').get);
app.get('/hubs', require('./hubs').getAll);
app.get('/hub/:link', require('./hub').getAll);
};
Вопросы:
Если в модель в первый запрос приходит строка "test1"(база возвращает 0 строк) то браузер зависает и говорит что данные не были переданы. Если приходит строка "test"(база возвращает 1 строку) то нормально все грузится в шаблон и загружается страница.
Если в модель в первый запрос приходит "test"(база возвращает 1 строку), и есть результаты со второй таблицы, то нормально их выдает. Если в модель в первый запрос приходит "test2"(база возвращает 1 строку), и во второй таблице результатов нет(нет постов) то выдает ошибку: hub_id undefined
Как лучше все это исправить?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В документации к SimpleDateFormatformat указывается, что метод принимает три параметра:
Пытаюсь вывести имена файлов содержащихся в архиве, но выдаёт такую ошибку Exception in thread "main" javalang
Суть проблемы: сервер перешёл на новое апи и теперь каждый объект wrap'ит (оборачивает) в структуру
Есть Selenium, Chrome DriverЕсть прокси через которое я подключаюсь