所以我正在嘗試製作一個讀取和寫入 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!'); } }) });