mysql - Express 永远加载 mySQL 查询?
问题描述
我正在尝试从 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");
});
解决方案
首先,您必须使服务器运行。删除您在运行服务器之前设置的 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
});
阅读项目结构以使您的代码易于编辑。
推荐阅读
- rest - 无法创建批处理管道以使用 http 插件 1.2.1 从 ZohoCRM 获取数据到 BigQuery。Retuns Spark 程序“阶段 1”失败
- javascript - 如何使用 ReactJS 解决这个 JSON 承诺错误?
- html - 如何在 r distill rmd 中嵌入外部 HTML
- angular - Angular 8 中的 SetTimeout 被忽略
- python - 如何提取域名?
- python - ApplicationError:在 Pyomo 中找不到求解器“ipopt”的可执行文件
- spring-boot - 如何在 Spring data elasticsearch 中使用 elasticsearchOperations 进行批量更新?
- azure - 更改 AzureDevOps 触发器不起作用(从构建到构建管道)
- python - 如何在 Python 中将 24 字节字节数组转换为 16 字节字节数组?
- javascript - 本地主机 3000 无法识别元掩码钱包