Возвращение данных с базы данных
Есть файл Controlller
export let a = ''
import * as mysqldb from './mysql/connectsql.js'
const MySqls = new mysqldb.conndb()
export class Conrole {
async login(req, res) {
try {
console.log(await MySqls.zapros('SELECT * FROM `user`;'))
return res.status(200).json({mes: "USSS"})
} catch(e) {
return res.status(500).json(e)
}
}
}
Который обращается к файлу connectsql для получения информации с базы данных
import mysql from 'mysql'
export class conndb {
async zapros(zaprosname){
var connection = mysql.createConnection({
host: 'server131.hosting.reg.ru',
port: '3306',
user : '',
password : '',
database : ''
});
connection.connect(err => {
if (err != null) {console.log(err)}
});
let query = 'SELECT * FROM `user`;'
connection.query(zaprosname, (error, results, fields) => {
console.log(results)
return results
});
connection.end();
}
}
как вернуть поле result после обращения к бд в файл Controller?
Ответы (1 шт):
Автор решения: SwaD
→ Ссылка
Попробуйте либо через коллбэк функцию
export class Conrole {
async login(req, res) {
try {
console.log(await MySqls.zapros('SELECT * FROM `user`;', (res) => {
return res.status(200).json({mes: "USSS"})
}
))
} catch(e) {
return res.status(500).json(e)
}
}
}
import mysql from 'mysql'
export class conndb {
async zapros(zaprosname, callBack) {
var connection = mysql.createConnection({
host: 'server131.hosting.reg.ru',
port: '3306',
user : '',
password : '',
database : ''
});
connection.connect(err => {
if (err != null) {console.log(err)}
});
let query = 'SELECT * FROM `user`;';
connection.query(zaprosname, (error, results, fields) => {
console.log(results)
callBack(results);
});
connection.end();
}
}
Либо с использованием Promice
export class conndb {
async zapros(zaprosname){
var connection = mysql.createConnection({
host: 'server131.hosting.reg.ru',
port: '3306',
user : '',
password : '',
database : ''
});
connection.connect(err => {
if (err != null) {console.log(err)}
});
return new Promise((resolve, reject) => {
connection.query(zaprosname, (error, results, fields) => {
console.log(results)
if (results) {
resolve(results);
} else {
reject(error)
}
connection.end();
});
})
}
}