首页  >  问答  >  正文

无法从我的 mySQL 数据库接收信息,尽管已经看到教程做了完全相同的事情

所以我正在尝试制作一个读取和写入 MySQL 数据库的程序,这让我找到了 YouTube 教程。我的问题是,尽管经历了与教程中的人完全相同的过程,但我最终得到了一个空服务器,尽管应该弹出什么内容。我的代码如下,它应该抓取我的申请人数据库中的applicant_info表中的每个条目,并将其显示在localhost:3000浏览器上。相反,它什么也不显示,我猜测是因为它无法获取信息,但我不知道为什么会出现这种情况,我已经严格按照教程进行操作。

const express = require("express");
const mysql = require('mysql');

const connection = mysql.createConnection({
        host    : 'localhost',
        user    : 'root',
        password: 'password',
        database: 'applicants'
});

const app = express();

app.get('/', (req, res) => {
    let sql = "SELECT * FROM applicant_info";
    connection.query(sql, (err, results) =>{
        res.send(results);
    })
});

app.listen('3000', () => {
    console.log('Server running on port 3000');
    connection.connect((err) => {
        if(err) {
        };
        console.log('Database Connected!');
    })
});

关于代码的旁注是,由于某种原因,我无法使用“throw”命令运行它,这就是“err”if 语句当前为空的原因。我希望亲爱的上帝,这不是原因,因为我不知道如何解决它。

这是我从浏览器收到的图片:图像描述

P粉757640504P粉757640504179 天前315

全部回复(1)我来回复

  • P粉204136428

    P粉2041364282024-04-04 10:50:52

    您的要求有问题:

    Error: Cannot find module 'mySQL'

    应该是:

    const mysql = require('mysql');

    因此您的服务器无法运行,并且浏览器上出现 404 错误。

    修复后,启动您的服务器,
    你应该在控制台中看到这个:

    Server running on port 3000
    Database Connected!

    访问 http://localhost:3000 时您应该会看到您的数据

    编辑:

    为您的代码添加了更多调试:

    app.get('/', (req, res) => {
        console.log('get called');
        let sql = "SELECT * FROM applicant_info";
        connection.query(sql, (err, results) =>{
            res.send(results);
        })
    });
    
    app.listen('3000', () => {
        connection.connect((err) => {
            if(err) {
              console.log('Database not connected!');
              console.log(err)
            } else {
              console.log('Server running on port 3000');
              console.log('Database Connected!');
            }
        })
    });

    回复
    0
  • 取消回复