【问题标题】:Connecting to MySQL Database from React?从 React 连接到 MySQL 数据库?
【发布时间】:2021-10-19 11:23:59
【问题描述】:

我在连接数据库时遇到问题。它是一个远程数据库,无论我做什么,它都不起作用!我四处寻找无济于事。我正在使用 React 这样做。我只想建立一个简单的连接并能够运行一些查询。代码如下:

db.js 组件:

const mysql = require('mysql');
const db = mysql.createConnection({
    /*THE VALUES BELOW ARE NOT THE ONES I HAVE TO USE*/
    host: '11.111.11.11', 
    user: 'username',
    password: 'password',
    port: 'port',
    database: 'database'
});

module.exports = db;

server.js 在我的后端文件夹中:

const express = require('express');
const db = require('./config/db');
const cors = require('cors');
const app = express();
const PORT = 3002;

app.use(cors());
app.use(express.json());

//ROUTE
app.get("/db", (req, res) => {
    db.query("SELECT * FROM users", (err, result) => {
        if(err) {
            console.log(err);
        } else {
            res.send(result);
            console.log(result);
            console.log('Connected!');
        }
    });
});

app.listen(PORT, ()=>{
    console.log(`Server is running on http://localhost/${PORT}/`);
});

我没有从中得到任何东西,甚至没有我在 console.log() 中要求的记录信息

提前感谢您的帮助。

【问题讨论】:

  • 我认为这与reactjs本身无关。

标签: javascript mysql reactjs express


【解决方案1】:

您刚刚创建了连接,但是您还需要使用 connect 函数来连接到您的数据库。所以你需要在你的 server.js 中添加一行,(我在你错过写的那行附近放了一条评论。

const db = require('./config/db');
const cors = require('cors');
const app = express();
const PORT = 3002;

app.use(cors());
app.use(express.json());

db.connect(); // you missed this line

//ROUTE
app.get("/db", (req, res) => {
    db.query("SELECT * FROM users", (err, result) => {
        if(err) {
            console.log(err);
        } else {
            res.send(result);
            console.log(result);
            console.log('Connected!');
        }
    });
});

app.listen(PORT, ()=>{
    console.log(`Server is running on http://localhost/${PORT}/`);
});

我认为您也可以在导出 db 之前在 db.js 中执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    相关资源
    最近更新 更多