所以我正在嘗試制作一個讀取和寫入 MySQL 數(shù)據(jù)庫的程序,這讓我找到了 YouTube 教程。我的問題是,盡管經(jīng)歷了與教程中的人完全相同的過程,但我最終得到了一個空服務(wù)器,盡管應(yīng)該彈出什么內(nèi)容。我的代碼如下,它應(yīng)該抓取我的申請人數(shù)據(jù)庫中的applicant_info表中的每個條目,并將其顯示在localhost:3000瀏覽器上。相反,它什么也不顯示,我猜測是因為它無法獲取信息,但我不知道為什么會出現(xiàn)這種情況,我已經(jīng)嚴格按照教程進行操作。
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!'); }) });
關(guān)于代碼的旁注是,由于某種原因,我無法使用“throw”命令運行它,這就是“err”if 語句當前為空的原因。我希望親愛的上帝,這不是原因,因為我不知道如何解決它。
這是我從瀏覽器收到的圖片:圖像描述
您的要求有問題:
Error: Cannot find module 'mySQL'
應(yīng)該是:
const mysql = require('mysql');
因此您的服務(wù)器無法運行,并且瀏覽器上出現(xiàn) 404 錯誤。
修復(fù)后,啟動您的服務(wù)器,
你應(yīng)該在控制臺中看到這個:
Server running on port 3000 Database Connected!
訪問 http://localhost:3000 時您應(yīng)該會看到您的數(shù)據(jù)
編輯:
為您的代碼添加了更多調(diào)試:
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!'); } }) });