【问题标题】:Express taking forever to load mySQL query?Express 永远加载 mySQL 查询?
【发布时间】:2021-05-17 22:05:20
【问题描述】:

我正在尝试从 28k 记录数据库中查询单行作为测试,但它没有通过,但是当我加载 'localhost:3001/api/get' 时它会保持加载状态,即使我的连接显示成功?它实际上甚至连接到数据库吗?

我的数据库架构是:

标识 |州名 |城市

const bodyParser = require('body-parser');
const express = require('express');
const app = express();
const mysql = require('mysql');
const cors = require('cors');

const db = mysql.createPool({
    host: "localhost",
    user: "root",
    password: "password",
    database: "states_city"
});

app.use(cors());
app.use(express.json());
app.use(bodyParser.urlencoded({extended:true}));


app.get('/api/get', (req, res)=>{
    const sqlGet = "SELECT city FROM state_city city = 'Chicago'";
    db.query(sqlGet, (err, res)=>{
        console.log("success");
    });
});

app.listen(3001, ()=>{
    console.log("running on port 3001");
});

【问题讨论】:

    标签: mysql node.js express database-connection


    【解决方案1】:

    首先你必须让服务器运行。删除您在运行服务器之前设置的 API 路由。

        app.listen(3001, ()=>{
            console.log("running on port 3001");
        });
    

    现在您必须创建数据库连接。创建新文件dbconn.js

        var mysql = require('mysql');
        
        const db = mysql.createPool({
            host: "localhost",
            user: "root",
            password: "password",
            database: "states_city"
        });
    

    现在创建新连接:

        var new_connection = mysql.createPool(
          db
        );
        
        new_connection.on('connection', function (connection) {
          console.log('DB Connection established');
        
          connection.on('error', function (err) {
            console.error(new Date(), 'MySQL error', err.code);
          });
          connection.on('close', function (err) {
            console.error(new Date(), 'MySQL close', err);
          });
        
        });
        
        // export connection
        module.exports = new_connection;
    

    在其他文件中包含该连接:

        var db_connection = require('../dbconn');
        db_connection.query(query, params, function (error, results, fields) {
            //Do your query
        });
    

    阅读project structure,让您的代码易于编辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 2023-03-23
      相关资源
      最近更新 更多