首页 > 解决方案 > 学习节点和mysql查询的问题

问题描述

我正在学习节点并且遇到了运行 mysql 查询的问题。我确定我正在连接到 mysql 数据库(因为当我从连接到数据库的同一模块运行查询时,我能够将行打印到控制台日志)。但是,当我需要将数据库连接到我的另一个文件并在查询中使用时,我会收到 500 错误。我在堆栈溢出上花了几个小时,但仍然卡住了。它绝对不是函数,好像我只是返回文本它工作正常,所以它绝对是我使用数据库连接的方式。数据库连接文件如下:

// initialize database connection
const mysql = require('mysql')
var db;

function connectDatabase() {
    if (!db) {
        db = mysql.createConnection({
          host: process.env.DB_HOST,
          user: process.env.DB_USER,
          password: process.env.DB_PASS,
          database: process.env.DB_DATABASE
        })

        db.connect(function(err){
            if(!err) {
                console.log('Database is connected!')
            } else {
                console.log('Error connecting database!')
            }
        })
    }
    return db
}

module.exports = connectDatabase()

我们在下面的查询中使用的数据库连接的模块:

const db = require('../db').connectDatabase

exports.getNightlyRatesData = () => {
  //const { rows } = db.query('SELECT * FROM rate', function (err, rows) {
  db.query('SELECT * FROM rate', function (err, rows) {
    if (err) {
        console.log("ERROR");
        console.log(err);
        return;
    }
    console.log("good");
  })
  return rows
}

标签: mysqlnode.js

解决方案


推荐阅读