所以我正在尝试制作一个读取和写入 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粉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!'); } }) });